我对DOMDocument使用的查询有问题。 我将使用" bbcode,如"标记为字符串并找到属性data_id。
我使用下面的代码,但我总是收到这些警告: 警告:DOMXPath :: query():表达式无效
" bbcode喜欢"代码我想要使用:
theme: 'minimum',
noCloseButton: 'true'
PHP代码
[sondage data_id=1]
感谢您的帮助
答案 0 :(得分:0)
正如其他人已经指出的那样,bbcode并不重视XML标记,因此不会被解析。
假设你所有的方括号都是BBCode的一部分(一个很大的假设,被授予),你可以“替换”#39;它们带有尖括号,使它们看起来像标签:
$text = str_replace(array("[","]"),array("<",">"),$row->text;
//$text now contains 'XML-ised' content
但是,如果你有任何不是BBCode的方括号,它很可能会破坏......
或者,您可以使用正则表达式来获取所有BBCode元素,然后从那里进一步解析它们:
$text = $row->text;
preg_match_all('#\[[a-z]+.*?\](.*?)\[/[a-z]+\]#is',$text,$matches);
//$matches will contain all your BBCode, which you can then parse further as required.