บทความนี้นำเสนอตัวอย่าง php regexp บางส่วน คอลเลกชันตัวอย่างนิพจน์ทั่วไปที่ดีและมีประโยชน์มาก ตัวอย่างนิพจน์ทั่วไปทั้งหมดเป็นที่ยอมรับสำหรับ PHP เพลิดเพลินเพื่อสุขภาพของคุณ!
ตัวอย่างการยืนยันชื่อโดเมนข้อมูลโค้ด php นี้ตรวจสอบว่าสตริงเป็นชื่อโดเมนที่ถูกต้องหรือไม่
?:.*)+):?(d+)?/?/i", $url)) ( echo "Your url is ok."; ) else ( echo "Wrong url"; )
ตัวอย่างการเน้นคำในข้อความนิพจน์ทั่วไปที่มีประโยชน์มากสำหรับการค้นหาและเน้นคำที่ต้องการในข้อความ รหัสนี้มีประโยชน์อย่างยิ่งเมื่อสร้างผลลัพธ์การค้นหา
$text = "ประโยคตัวอย่างจาก KomunitasWeb regex ได้รับความนิยมในการเขียนโปรแกรมเว็บ ตอนนี้เราเรียนรู้ regex ตามวิกิพีเดีย นิพจน์ทั่วไป (ตัวย่อว่า regex หรือ regexp โดยมีรูปแบบพหูพจน์ regexes, regexps หรือ regexen) เขียนในรูปแบบที่เป็นทางการ ภาษาที่สามารถตีความได้โดยตัวประมวลผลนิพจน์ทั่วไป"; $text = preg_replace("/b(regex)b/i", "1", $text); สะท้อน $ข้อความ;
ตัวอย่างการใช้ผลการค้นหาที่เน้นใน WordPressเปิดไฟล์ search.php และค้นหาฟังก์ชัน the_title() แทนที่ด้วยบรรทัดต่อไปนี้:
เสียงสะท้อน $title;
ตอนนี้ ก่อนบรรทัดที่ถูกแทนที่ ให้ใส่โค้ดนี้:
บันทึกไฟล์ search.php ของคุณและเปิด style.css เพิ่มบรรทัดต่อไปนี้ลงไป:
Strong.search-ข้อความที่ตัดตอนมา ( พื้นหลัง: สีเหลือง; )
ตัวอย่างการรับรูปภาพจาก HTML โดยใช้วิธี regexpโค้ด PHP ชิ้นนี้ใช้นิพจน์ทั่วไปในการค้นหารูปภาพทั้งหมดและ URL
$images = array(); preg_match_all("/(img|src)=("|")[^"">]+/i", $data, $media); ไม่ได้ตั้งค่า($ข้อมูล); $data=preg_replace("/(img|src)("|"|="|=")(.*)/i","$3",$media); foreach($data as $url) ( $info = pathinfo($url); if (isset($info["extension"])) ( if (($info["extension"] == "jpg") || ($ข้อมูล["ส่วนขยาย"] == "jpeg") ||. ($ข้อมูล ["ส่วนขยาย"] == "gif") ||. ($ข้อมูล ["ส่วนขยาย"] == "png")) array_push($ รูปภาพ, $url);
การลบคำที่ซ้ำกัน (ไม่คำนึงถึงขนาดตัวพิมพ์)มีคำที่ซ้ำกันบ่อยไหม? ตัวอย่างนิพจน์ทั่วไปนี้จะเป็นประโยชน์สำหรับคุณ
$text = preg_replace("/s(w+s)1/i", "$1", $text);
การลบจุดที่ซ้ำกันสิ่งเดียวกันมีเพียงจุดซ้ำเท่านั้น
$text = preg_replace("/.+/i", ".", $text);
การจับคู่แท็ก XML/HTMLฟังก์ชันง่ายๆ นี้รับสองอาร์กิวเมนต์: แท็ก (ซึ่งคุณต้องการจับคู่) รหัส xml หรือโค้ด html
ฟังก์ชัน get_tag($tag, $xml) ( $tag = preg_quote($tag); preg_match_all("(]*>(.*?).")", $xml, $matches, PREG_PATTERN_ORDER); return $matches; )
ค้นหาแท็ก XHTML/XML ด้วยค่าแอตทริบิวต์เฉพาะตัวอย่างนี้คล้ายกับฟังก์ชันก่อนหน้า มีเพียงคุณเท่านั้นที่สามารถขยายการค้นหาได้อย่างมาก เช่น ค้นหา
ฟังก์ชั่น get_tag($attr, $value, $xml, $tag=null) ( if(is_null($tag)) $tag = "\w+"; else $tag = preg_quote($tag); $attr = preg_quote($ attr); $value = preg_quote($value); $tag_regex = "/]*$attr\s*=\s*". .*?)/" preg_match_all($tag_regex, $xml, $matches, PREG_PATTERN_ORDER); ส่งคืน $matches; )
ค้นหาค่าสีเลขฐานสิบหกตัวอย่างที่ดีของนิพจน์ทั่วไปที่จับคู่ค่าสีเลขฐานสิบหกในสตริงที่กำหนด นี่มีไว้เพื่ออะไร? บางทีคุณอาจต้องการเขียนบริการเพื่อบีบอัดโค้ด CSS หรืออะไรที่คล้ายกัน
$string = "#555555"; if (preg_match("/^#(?:(?:(3))(1,2))$/i", $string)) ( echo "ตัวอย่าง 6 สำเร็จ"; )
ตัวอย่างการค้นหาชื่อเรื่องในหน้าที่กำหนดตัวอย่างโค้ด PHP ที่น่าสนใจที่มี regexp ค้นหาและส่งกลับข้อความระหว่างแท็ก และ
Feof($fp))( $page .= fgets($fp, 4096); ) $titre = eregi("(.*)",$page,$regs); เสียงสะท้อน $regs; fclose($fp);
การแยกวิเคราะห์บันทึก Apacheไซต์ส่วนใหญ่ทำงานบนเซิร์ฟเวอร์ Apache ที่รู้จักกันดี หากไซต์ของคุณทำงานบนไซต์นั้นด้วย คุณสามารถแยกวิเคราะห์บันทึกเซิร์ฟเวอร์ได้โดยใช้ php regexp
//บันทึก: เว็บเซิร์ฟเวอร์ Apache // เข้าถึงไฟล์ HTML ได้สำเร็จเท่านั้น มีประโยชน์ในการนับจำนวนการดูเพจ "^((?#IP ไคลเอนต์หรือชื่อโดเมน)S+)s+((?#การรับรองความถูกต้องขั้นพื้นฐาน)S+s+S+)s+[((?#วันที่และเวลา)[^]]+)]s+"(?: GET|POST|HEAD) ((?#file)/[^ ?]+?.html?)??((?#parameters)[^ ?]+)? HTTP/+"s+(?#รหัสสถานะ)200s+((?#bytes ถ่ายโอน)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent )[^"]*)"$" //บันทึก: เว็บเซิร์ฟเวอร์ Apache // ข้อผิดพลาด 404 เท่านั้น "^((?#client IP หรือชื่อโดเมน)S+)s+((?#การรับรองความถูกต้องพื้นฐาน)S+s+S+) s+[((?#วันที่และเวลา)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)[^ ?"]+)??((?#parameters)[ ^ ?"]+)? HTTP/+"s+(?#รหัสสถานะ)404s+((?#bytes ถ่ายโอน)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent )[^"]*)"$"
ตัวอย่างการตรวจสอบความซับซ้อนของรหัสผ่านตัวอย่างที่ดีของนิพจน์ทั่วไปที่ตรวจสอบระดับความซับซ้อนของรหัสผ่าน รหัสผ่านต้องมีความยาว 6 ตัวอักษรและประกอบด้วยอักขระตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก และตัวเลขอย่างน้อยหนึ่งตัว
"A(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?) [-_a-zA-Z0-9](6,)z"
การแทนที่อีโมติคอนข้อความด้วยอีโมติคอนกราฟิกโค้ดตัวอย่างนี้จะเปลี่ยนอิโมติคอนข้อความเป็นกราฟิกของคุณ ตัวอย่าง PHP ที่น่าสนใจและมีประโยชน์
$texte="ข้อความที่มีสไมลี่ :-)"; เสียงสะท้อน str_replace(":-)" ",$ข้อความ);
ควรบอกว่าโค้ด php นี้ใช้ใน wordpress เพื่อค้นหาและประมวลผลรูปภาพ