所以我有一个类似于<span>hey</span>/<span>bye</span>/<span>why</span>/
的字符串。如何使用preg_replace
将所有非HTML标记/
替换为::
?
答案 0 :(得分:0)
我会考虑使用负面的lookbehind:
$pattern = '#(?<!<)/#';
$replacement = '::';
$result = preg_replace($pattern, $replacement, $input);
这样做的要点是它只会替换前一个字符不是/
的{{1}}
当然,您可能需要更进一步,确保它没有<
的后续字符,例如自闭标签的情况。在这种情况下,您还可以添加负向前瞻,使模式变为:
>