1
7
这是我的一个宠物尿: 从未 手工分析HTML。 从未 用regexps分析HTML。 从未 使用字符串比较分析HTML。 总是 使用HTML解析器来解析HTML,这就是它们的目的。 我已经很久没有做过任何PHP了,但是一个快速搜索出现了 this PHP5 HTML parser . |
2
2
不要编写解析器,使用其他人的: DOMDocument::loadHTML -那只是一个,我想还有很多其他的。 |
3
1
嗯,这并不能回答问题,更像是一种观点,但是… 我认为最好的抓取策略(并因此消除此问题)不是逐行分析HTML,这对HTML来说是不自然的,而是通过其自然分隔符来分析它:<gt;对。 有两种类型的课程:
在段落(p)标记的情况下,您可以立即看到使用此策略的优势:解析多行段落将更容易,而不必跟踪结束标记的位置。 |
4
1
也许在将来的项目中,我会使用解析库,但这与手头的问题无关。这是我目前的解决方案。
这就是实现:
这可能在某种程度上得到优化,但就我的目的而言,这已经足够了。 |
5
0
为什么不在一行中读取,并将其设置为一个字符串,然后检查该字符串是否有标记的开头和结尾,如果标记跨越多行,则将下一行添加到字符串中,并将开头大括号之前的部分移动到处理过的字符串中。然后通过整个文件进行解析。它不漂亮,但应该管用。 |
6
0
如果您必须坚持当前的解析方法,并且它是一个regex,则可以使用 multi-line flag “m”跨多条线。 |
md.jamal · 如何确保telnet命令是否成功 6 年前 |
user3742796 · 如何在键之间均匀分布总值数 6 年前 |
VaTo · 用于检查是否可以访问多个服务器的脚本 6 年前 |
as7951 · Awk脚本根据条件提供另一列中某些列的总和 6 年前 |
JBaba · 如何在Unix中读取嵌套循环中的两个文件 6 年前 |
Ajeetkumar · ksh-检查字符串是否有模式 6 年前 |