好吧,所以这是我的问题。我正在尝试用PHP编写一个脚本来解析我们的工作订单系统并返回一组票证,但是我试图解析票证列表时遇到了一些麻烦。我一直试图尽可能地使用正则表达式来强迫自己学习语法,我可以知道这应该有用但是唉,它不是,所以我来这里寻求你的集体智慧。
<tr>
...
...
...
...
</tr>
我正在尝试在这里检索标签之间的块,以便我可以再次解析它以获取特定信息。块大小非常规则,但标记之间的行可能会根据故障单中描述的长度而有所不同。我目前使用的正则表达式是
/<tr>(.+)<\/tr>/
这似乎是实现我的目标的最小方法,但我从preg_match得到错误。我意识到我可以在这个非常粗略的伪代码中标记和循环它
if /<tr>/ then {
while != /<\/tr>/ {
store line
}
}
然而,我的目标是更好地了解正则表达式以及如何使用它。
答案 0 :(得分:2)
.*?
代替.*
,或者U(PCRE_UNGREEDY)修饰符匹配非贪婪。答案 1 :(得分:1)
正则表达式解析html是一团糟。