我正在寻找搜索和替换的解决方案。 我需要在特定字符串后添加一个空格但前提是还没有空格。正则表达式对我来说是高级的。有人愿意帮我吗?
例如
Lorem ipsum[something]abcdefg[/something]dolor sit amet
需要替换为
Lorem ipsum[something]abcdefg[/something] dolor sit amet
所以,我需要搜索 [/something]
,如果它后面没有空格,则进行替换...
最佳答案
正则表达式可以是这样的:
/(\[\/something\])(?!\s)/gmi
您可以在这里测试它并了解完整的解释:
https://regex101.com/r/pC4pQ3/1
如果您看到第一个是有目标的,因为不是空格,但第二个是相反的。
要在 PHP 中应用此功能,您必须使用 preg_replace()
。像这样的事情:
$string = "Lorem ipsum[something]abcdefg[/something]dolor sit amet";
echo preg_replace("/(\[\/something\])(?!\s)/", "\1 ", $string);
// result: "Lorem ipsum[something]abcdefg[/something] dolor sit amet"
关于php - 根据条件替换字符串(正则表达式?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35896407/