2012-03-26 32 views
7

tôi cố gắng chuỗi sử dụng như một mô hình biểu hiện thường xuyên nhưng tôi đã lỗi sauPHP: string regex

PHP Warning: preg_match(): Unknown modifier '>' in /Applications/MAMP/htdocs/cruncher/Plugins/wordpress/WPDetect.php on line 22 
PHP Warning: preg_match(): Unknown modifier '/' in /Applications/MAMP/htdocs/cruncher/Plugins/wordpress/WPDetect.php on line 22 

$str = "<meta name=\"generator\" content=\"WordPress.com\" />" 
preg_match("/".$str."/", $content->content) 

Tôi cũng đã cố gắng để sử dụng chức năng preg_quote nhưng tôi đã các vấn đề tương tự.

Cách chính xác để làm cho nó hoạt động là gì?

Sultan

Trả lời

11

Sử dụng preg_quote chức năng và mô hình kèm theo |...|

preg_match("|" . preg_quote($str, "|") . "|", $content->content) 
+0

Cảm ơn bạn @piotrekkr nó làm việc – sultan

+0

chắc chắn nó đã không thể chấp nhận một câu trả lời trong khoảng 8 phút) – sultan

+0

Ok xin lỗi did'n tknow có một giới hạn thời gian :) – piotrekkr

0

Bạn phải thoát khỏi giới hạn của bạn

$str = "<meta name=\"generator\" content=\"WordPress.com\" \/>" 
0

biểu hiện thường xuyên chứa một tập hợp các char đặc biệt như \ - *. ? $^+() [] Và nhiều hơn nữa, bạn phải thoát họ khỏi chuỗi của bạn trước khi sử dụng nó (bạn esacpe bằng cách thêm một \ trước khi char)

1

này làm việc cho tôi

$pattern = "/" . preg_quote($source, "/") . "/";