我有以下字符串括號,括號中的文字:PHP正則表達式替換
Welcome [firstname] [lastname]
我想使用preg_replace()
使[名字]被替換爲馬塞洛和[姓氏]與西爾維斯特。
我只能找到方法來獲取括號內的文本,但我想自己替換括號。
$string = "Welcome [firstname] [lastname]";
$patterns = array();
$patterns[0] = '\[firstname\]';
$patterns[1] = '\[lastname\]';
$replacements = array();
$replacements[0] = 'Marcello';
$replacements[1] = 'Silvestri';
echo preg_replace($patterns, $array, $string]);
我也試圖與\[(.*?)\]
試圖不管方括號的內容來代替一切,但我得到的東西像[Marcello]
,而我只是想Marcello
。
如何更換包括方括號在內的內容?
模式需要預先與分隔符追加。您可以使用'/',如'/ \ [firstname \] /' – treegarden
將來使用錯誤報告。這會引發:修復了第12行中出現'Parse error:syntax error,unexpected']後'分隔符不能是字母數字或反斜槓'的問題'。 http://php.net/manual/en/regexp.reference.delimiters.php – chris85