如何在字符串中获取所有BBcodes但保留内容?
例:
[B]This is bold[/B] and This is [color=#FFCCCC]colored[/color]
Run Code Online (Sandbox Code Playgroud)
将会 :
这是大胆的,这是有色的
Pas*_*TIN 19
我想你可以只使用正则表达式和preg_replace功能,以取代一切之间的[并]通过一个空字符串:
$str = '[B]This is bold[/B] and This is [color=#FFCCCC]colored[/color]';
echo preg_replace('#\[[^\]]+\]#', '', $str);
Run Code Online (Sandbox Code Playgroud)
将显示:
This is bold and This is colored
Run Code Online (Sandbox Code Playgroud)
这里,我使用的模式是匹配:
[角色:\[]角色的东西:[^\]]
[^\]]+]角色:\]请注意[并]具有特殊含义 - 这意味着当您希望对它们进行字面解释时,必须将它们转义.