2017-06-05 87 views
0

我正在使用ereg_replace函數將我的HTML中的所有標記替換爲空白。在我的情況下,標籤是這樣的:{{年齡}} {{NAME}} {{EMAIL_ADDRESS}}PHP preg_replace字符串

我是用這句話(是PHP 7刪除):

$my_string = ereg_replace("\{\{[a-zA-Z_0-9]+\}\}", "", $my_string); 

現在我喜歡用替代句子ereg_replace,我試着用這個:

$my_string = preg_replace("\{\{[a-zA-Z_0-9]+\}\}", "", $my_string); 

它拋出錯誤。看起來preg的1st參數與ereg不同。有人可以告訴我如何解決它以取代所有格式爲{{something here}}的標籤。

謝謝。

回答

1

對於preg_*函數,您的表達式需要一個分隔符(表達式開始和結尾的一些字符,它告訴底層引擎您的表達式結束並開始任何可選修飾符)。

大多數開發人員使用/作爲分隔符,所以:

$my_string = preg_replace("/\{\{[a-zA-Z_0-9]+\}\}/", "", $my_string); 

雖然我不認爲{}字符在正則表達式特殊的意義,所以你也許能逃脫沒有逃脫他們:

$my_string = preg_replace("/{{[a-zA-Z_0-9]+}}/", "", $my_string);