0

我需要有关此 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

4

1 回答 1

0

我的建议:

将该字符串替换为[然后将该字符串转换为 XML 对象,使用和访问作为创建对象的属性。]<>SimpleXMLcaption

$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是痛苦的。

于 2011-02-24T19:02:28.123 回答