PHP正则表达式替换字母或空格包围的值

Jen*_*zor 0 php regex expression preg-replace

我一直试图找出一段时间的解决方案,但没有找到一个可靠的工作方式.

我有一个字符串,其中每个换行符表示为零(0)

$string ="The quick brown fox0jumped over the lazy dog 0with 1308mm to spare.";
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法,用html标签"br"替换不属于数字的每个0.

到目前为止,我得到的最接近的是:

preg_replace('/([a-zA-Z ])0([a-zA-Z ])/', '$1\<br\>$2', $string);
Run Code Online (Sandbox Code Playgroud)

Nie*_*sol 5

对于这样的事情,你应该使用断言:

/(?<!\d)0(?!\d)/
Run Code Online (Sandbox Code Playgroud)

另外,第二个参数只是一个字符串.绝对没有必要逃避尖括号 - 实际上你也不需要在正则表达式中逃脱它们.所以只要<br>用作你的第二个参数.