我在写我自己的博客在PHP中,我希望能够写在降价的帖子显示HTML的结果,我也需要做一些定制的东西与HTML。如何提取特定的标签,并从XML使用SimpleXML
有一个简单的脚本,可以降价转换为HTML,但是我需要做对HTML有些事情一旦完成:
我需要通过更换预标签内的所有HTML符号htmlentities()函数。 (在我的博客中,我发布了包含HTML的代码,但我只想显示这个HTML,而不是在浏览器中解析它)。
我需要提取所有纯文本,以便在末尾创建不包含图像标记或半标记(或代码中的代码块)的摘录。
我想我用下面的代码有针对问题2的解决方案:
$xml = new SimpleXMLElement('<xml>' . $html . '</xml>');
$ XML现在看起来是这样的:
<xml>
<p>some random text</p>
<img src='image.jpg'>
<p>some random text</p>
</xml>
这种提取所有文字:
foreach($xml->{'p'} as $p){
echo $p . '<hr>';
}
这个工作,但是我还希望它包含在ul和ol中找到的所有文本(与它们在XML中出现的顺序相同)。我搜索了一种方法来循环$ xml的所有子元素,但是我找不到如何检查元素是p,ul还是ol。
我不能找到一种方法来解决问题1,因为我不知道如何替换XML对象中的内容,但在离开一切完好。 (还是我失去了一些东西完全地明显?)
可能重复(HTTP://计算器。com/questions/8772348/replacement-end-div-tags-using-preg-replace-callback-function) - 另请参见:http://php.net/dom_import_simplexml – hakre 2012-01-10 12:32:45
还有很多其他问题和答案也是如此。我建议你使用搜索。 – hakre 2012-01-10 12:42:22