我在 php 中有这个 preg_replace,它几乎正确地将每个以“exploit”开头的单词替换为链接:
preg_replace('#[\b]?(exploit([^ ]*))[\b]?#', '<a>$1</a>', 'My exploits are exploitable.');
我明白了:
My <a>exploits</a> are <a>exploitable.</a>
这是一半错误,句号不应该连接在第二个单词上。我知道我需要将上面的部分 [^ ] 替换为 [^\b] 之类的东西,但它不起作用。
我知道我总是可以这样做,即 [^ .] 但它只适用于以空格和句号结尾的单词,而不是逗号。