[英]preg_replace and Regular expression in PHP
請你幫助我好嗎? 我不明白為什么我會收到這個錯誤。
警告:preg_replace():未知修飾符'h'
$data_proces="<link>http://news.abc.com/news/url?sa=t&fd=R&kkk&url=http://example.com/abc<link>
$find_delete="<link>http:\/\/news\.abc\.com\/news\/url\?sa=.+url=";
$replace_x="<link>";
$data_process= preg_replace($find_delete,$replace_x, $data_process);
你錯過$find_delete
。 它應該是:
$data_process="<link>http://news.abc.com/news/url?sa=t&fd=R&kkk&url=http://example.com/abc<link>";
$find_delete="/<link>http:\/\/news\.abc\.com\/news\/url\?sa=.+url=/";
^ ^
$replace_x="<link>";
echo preg_replace($find_delete,$replace_x, $data_process);
簡單。 在PHP中,您必須使用/
來開始和結束正則表達式字符串。 結束后/
你可以放一些修飾標志。 閱讀本文以獲得更多理解。 http://www.rexegg.com/regex-modifiers.html
所以你的代碼應該是:
$find_delete="/<link>http:\/\/news\.abc\.com\/news\/url\?sa=.+url=/";
在開始和結束時使用分隔符。 建議選擇模式中不存在的字符,例如:
$find_delete = "#<link>http://news\\.abc\\.com/news/url\\?sa=[^;]+;url=#";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.