70   จัดรูปแบบ regex ของเราให้ดูดีและอ่านได้ง่าย

>>  รู้หมือไร่ <<
 
บางครั้งเวลาเราเขียน Regular Expression ที่ยาวๆ แล้วรู้สึกว่ามันอ่านยาก เพราะมันอยู่ในบรรทัดเดียว
ใน PHP นั้นสามารถใช้ x flag เพื่อทำให้ regex ของเราไม่สน whitespace
ซึ่งโหมดนี้เรียกว่า PCRE Extended
และในโหมด PCRE Extended นี้ จะมีอักษรพิเศษเพิ่มขึ้นมาคือ #
ซึ่งหากจะใช้ใน pattern ควรที่จะต้อง escape เพราะมันจะหมายถึง line comment
 
if (!preg_match(
    '/^(
    HEAD   |  # นี่คือ comment
    GET    |  # ซึ่งจะเริ่มตั้งแต่ # ไปจนถึงท้ายบรรทัด
    POST   |
    PUT    |
    DELETE |
    PATCH  |
    OPTIONS
    )$/ix',
    $_SERVER['REQUEST_METHOD']
)) {
    header('HTTP/1.1 405 Method Not Allowed');
    exit;
}
 
จากตัวอย่างจะเห็นว่าเราสามารถจัดรูปแบบ regex ของเราให้ดูดีและอ่านได้ง่าย
แต่ข้อควรระวังคือ หากจะ match พวกช่องว่าง หรือ newline ก็จำเป็นต้องระบุชัดเจนลงไป
เช่นระบุ space ด้วย \x20 หรือ [ ]

Credit: Admin (phpinfo.in.th)
Back to Top