我正在经历
一个魔鬼般的时间让preg_replace工作!模式是它以"so+"开头,然后它应该替换它以及后面的所有内容。
so+FirstName,
Your Reservation is confirmed for so+Date
将替换为:
James,
Your Reservation is confirmed for July 1, 2017.
如果有帮助,我可以这样使用:或so_而不是加号。但是我需要替换任何以该模式开头的内容,包括它后面的内容,直到它达到空格或句点。
编辑:我试过:
$search = '/'bso+([a-z]*)'b/i';
$search = ''bso+'w*'b';
试试这个它工作正常,问题只是在+,添加斜杠以平庸化它
<?php
$string="so+FirstName,Your Reservation is confirmed for so+Date";
$string = preg_replace('/'bso'+([a-z]*),'b/i', 'James', $string);
$string = preg_replace('/'bso'+Date'b/i', date('M d,Y'), $string);
echo $string;
?>
+
是一个特殊字符,如果要在字符串中匹配它,则必须使用'+
。