如何在bbcode中包含文本?

时间:2011-02-24 18:59:18

标签: php regex preg-match bbcode

我需要这个preg_match脚本的帮助。我想要一个bbcode内的文本。所以这就是字符串:[caption id="attachment_123" align="alignleft" width="100" caption="This is the text that I want"]

你会怎么做?重要的是,像id和align这样的值不会一直相同。我试过像preg_match('#\[caption(?:.*?)caption=\"(.*?)\"\]#s',$result,$array);

这样的东西

感谢您的帮助! phpheini

1 个答案:

答案 0 :(得分:0)

我的建议:

[]替换为<>,然后使用SimpleXML将该字符串转换为XML对象,并将caption作为属性创建对象。

$input  = '[caption id="attachment_123" align="alignleft" width="100" caption="This is the text that I want"]';
$input  = str_replace(array('[', ']'), array('<', '>'), $input);

$object = new SimpleXML($input);

echo $object->caption;

清洁简单。 RegexpHTML / BBCode很痛苦。