我要寻找一个在PHP操作HTML的好方法。例如,我目前遇到的问题是处理格式不正确的html。DOM操作在PHP
我越来越投入,看起来是这样的:
<div>This is some <b>text
当你注意到了,HTML是缺少结束标记。我可以使用正则表达式或XML解析器来解决这个问题。不过,我很可能在将来不得不做其他DOM操作。我不知道是否有是处理类似与DOM操作如何交易的Javascript DOM操作任何好的PHP库。
我要寻找一个在PHP操作HTML的好方法。例如,我目前遇到的问题是处理格式不正确的html。DOM操作在PHP
我越来越投入,看起来是这样的:
<div>This is some <b>text
当你注意到了,HTML是缺少结束标记。我可以使用正则表达式或XML解析器来解决这个问题。不过,我很可能在将来不得不做其他DOM操作。我不知道是否有是处理类似与DOM操作如何交易的Javascript DOM操作任何好的PHP库。
PHP有a PECL extension that gives you access to the features of HTML Tidy。整洁是一个非常强大的库,应该能够采取这样的代码和关闭标签以智能的方式。
我用它来清理异常的XML和HTML通过导入前一个分类广告系统发送给我。
用于操作DOM我认为你要寻找的是this。我曾经从网上解析HTML文件,它对我来说工作得很好。
我发现PHP Simple HTML DOM是最有用和最直接的库。我会说比PECL好。
我已经写上how to use it to scrape myspace artist tour dates的文章(只是一个例子。)下面是这是目前内置了可以很容易地解决这个问题php simple html dom parser.
DOM库的链接。 loadHTML方法将接受格式不正确的XML,而加载方法则不会。
$d = new DOMDocument;
$d->loadHTML('<div>This is some <b>text');
$d->saveHTML();
输出将是:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<body>
<div>This is some <b>text</b></div>
</body>
</html>
我会做别的事情与前通过HTML净化器运行不良HTML。 – TRiG 2010-11-02 15:15:38