Preg จับคู่ทั้งหมด ค้นหาเหตุการณ์ทั้งหมดของ php PHP regexp: ตัวอย่างของนิพจน์ทั่วไป WordPress: การใช้นิพจน์ทั่วไปเพื่อรับรูปภาพจากโพสต์

บทความนี้นำเสนอตัวอย่าง 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(":-)" ",$ข้อความ);

ตัวอย่างนิพจน์ทั่วไปในการรับรูปภาพจากโค้ด html

ควรบอกว่าโค้ด php นี้ใช้ใน wordpress เพื่อค้นหาและประมวลผลรูปภาพ