我創建一個PHP郵件列表系統。 我需要的是一些regexing字符的名稱,電子郵件等 對於實例PHP郵件列表正則表達式
嗨,[名字]]
blablabla
的問候,傑夫
而正則表達式應該檢測[[]],名字,並用DB中的一些字符串替換它。
我不是正則表達式的專家,我已經嘗試了一些正則表達式,但不能做出完美的解決方案..
謝謝..
我創建一個PHP郵件列表系統。 我需要的是一些regexing字符的名稱,電子郵件等 對於實例PHP郵件列表正則表達式
嗨,[名字]]
blablabla
的問候,傑夫
而正則表達式應該檢測[[]],名字,並用DB中的一些字符串替換它。
我不是正則表達式的專家,我已經嘗試了一些正則表達式,但不能做出完美的解決方案..
謝謝..
您可以輕鬆地使用str_replace
。
混合str_replace函數(混合$搜索,混合$更換,混合$主題[摘要& $計數])
你的代碼可能看起來像這樣(如果$text
包含郵件文本):
$text = str_replace("[[FirstName]]", "Name 1", $text);
如果您要更換一次,你可以使用數組爲$search
多個字符串和$replace
$text = str_replace(array("[[FirstName]]", "[[LastName]]"), array("Name 1", "Name 2"), $text);
哦,是的,你是對的......我的思想卡在正則表達式。我忘了正則表達式是針對非固定字符串的。非常感謝你。 – Jeho
你不需要正則表達式你想要的東西,如果你有固定的變量。所有你需要的是str_replace()。將模板的變量放在第一個數組中,並將第二個數組中的數據來源的值放入()中。
例子:
$message = str_replace(array('{name}', '{whatever}'), array($name, $whatever), $message);
非常感謝。 – Jeho
你爲什麼不使用'str_replace'? – modsfabio
'\ [\ [([^ \]] *)\] \]'? –
https://regex101.com/r/5lB89Y/1 – Andreas