如何解析HTML/XML并从中提取信息?
如何通过识别其"评论"标签来获取DOM块,例如
<!-- start block -->
<p>Hello world etc</p>
<div>something</div>
<!-- end of block -->
Run Code Online (Sandbox Code Playgroud)
我正在使用Simple PHP DOM解析器,但文档不完整,http://simplehtmldom.sourceforge.net/manual.htm.如果我能用纯PHP做到这一点就好了.
我已经打开了一个HTML文件
file_get_contents('http://www.example.com/file.html')
Run Code Online (Sandbox Code Playgroud)
并想要解析包括"ParseThis"的行:
<h1 class=\"header\">ParseThis<\/h1>
Run Code Online (Sandbox Code Playgroud)
如您所见,它位于h1标记内(h1文件中的第一个标记).如何获得"ParseThis"文本?
我正在学习RegEx和网站抓取,并提出以下问题,如果得到解答,应该大大加快我的学习过程.
我以htmlencoded格式从网站上获取了表单元素.也就是说,我有$ content字符串,所有标签都完好无损,如下所示:
$content = "<form name="sth" action="">
<select name="city">
<option value="one">One town</option>
<option value="two">Another town</option>
<option value="three">Yet Another town</option>
...
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
我想以这种方式获取网站上的所有选项:
array("One Town" => "one", "Another Town" => "two", "Yet Another Town" => "three" ...);
Run Code Online (Sandbox Code Playgroud)
现在,我知道这可以很容易地通过操纵字符串,切片切割它,搜索每个字符串中的子串,等等,直到我拥有我需要的一切.但我确信必须有一种更简单的方法来使用正则表达式,它应该立即从给定的字符串中获取所有结果.任何人都可以帮我找到一个快捷方式吗?我搜索过网络上最好的正则表达式网站,但无济于事.
非常感谢
php ×4
html ×2
parsing ×2
dom ×1
html-parsing ×1
mysql ×1
regex ×1
web-crawler ×1
xml ×1
xml-parsing ×1