我有很多具有phpbb属性的bbcode标签(5位数值 - 假设文字颜色或其他东西)。它们在文中看起来像这样:
This is [b:31747]bold[/b:31747] text and so is [b:17171]this[/b:17171].
我无法找到bracket+b+colon+any_combo_of_5_digits+end_bracket
的正则表达式,让我用相应的html替换它。使用php的preg_replace()函数,如果它有所作为。
答案 0 :(得分:1)
这将取代粗体,下划线和斜体标签。
$new_text = preg_replace('~\[(/?[bui]):\d+\]~is', '<$1>', $text);
echo $new_text; // This is <b>bold</b> text and so is <b>this</b>.
答案 1 :(得分:0)
这适用于任何类型标记的开始和结束标记:
$string = preg_replace("/\[(\/?[a-zA-Z]+):[\d]{5}\]/is", "<$1>", $string);
答案 2 :(得分:0)
您需要的正则表达式是:
\[/?b:\d{5}]
答案 3 :(得分:0)
preg_replace("/\[\/?b:[0-9]*?\]/","","[b:17171]this[/b:17171]");