簡體   English   中英

PHP中的preg_replace和正則表達式

[英]preg_replace and Regular expression in PHP

請你幫助我好嗎? 我不明白為什么我會收到這個錯誤。

警告:preg_replace():未知修飾符'h'

$data_proces="<link>http://news.abc.com/news/url?sa=t&amp;fd=R&ampkkk&amp;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&amp;fd=R&ampkkk&amp;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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM