use*_*379 2 php regex phpbb phpbb3
我想在我的网站上显示我的phpbb3论坛的最新帖子,但没有bbcode.所以我试图剥离bbcode,但没有成功,其中一个帖子例如可能是:
[quote="SimonLeBon":3pwalcod]bladie bla bla[/quote:3pwalcod]bla bla bladie bla blaffsd
fsdjhgfd dgfgdffgdfg
Run Code Online (Sandbox Code Playgroud)
剥离bbcodes我使用我通过谷歌找到的功能,我已经尝试了几个其他类似的功能以及:
<?php
function stripBBCode($text_to_search) {
$pattern = '|[[\/\!]*?[^\[\]]*?]|si';
$replace = '';
return preg_replace($pattern, $replace, $text_to_search);
}
?>
Run Code Online (Sandbox Code Playgroud)
然而,这并没有任何影响.
这将剥离bbcode,这是有效的(即打开与标签匹配的标签).
$str = preg_replace('/\[(\w+)=.*?:(.*?)\](.*?)\[\/\1:\2\]/', '$3', $str);
Run Code Online (Sandbox Code Playgroud)
function stripBBCode($str) {
return preg_replace('/\[(\w+)=.*?:(.*?)\](.*?)\[\/\1:\2\]/', '$3', $str);
}
Run Code Online (Sandbox Code Playgroud)
\[
匹配文字[
.(\w+)
匹配1个或多个单词字符并保存在捕获组中1
.=
匹配文字=
..*?
不合理地匹配除和\n
之间的每个字符.=
:
:
匹配文字:
.(.*?)
不合理地匹配除了和\n
之间的每个字符并保存在捕获组中.:
]
2
\]
匹配文字]
.(.*?)
不合理地匹配除了和\n
之间的每个字符并保存在捕获组中.:
]
3
\[
匹配文字[
./\1\2
再次匹配以前的捕获组.\]
匹配文字]
.