PHP preg_replace:有条件地插入空白


PHP preg_replace: Conditionally insert whitespace

在PHP中,我想在每个<之后插入一个空白,但前提是已经没有空白了。

我试过了:

preg_replace('/<'S/', '< ', $data);

这适用于单个<,但如果我有<<,它就不再工作了。

正如@Summoner所指出的,您当前的正则表达式用空格替换<后面的字符,而不是插入。好吧,这两个问题(替换和代码不适用于<<)都可以用一个解决方案来解决:lookahead。试试这个代码:

preg_replace('/<(?!'s)/', '< ', $data);