0
好的,所以这是我的问题。我试图在PHP中编写一个脚本来解析我们的工作订单系统并返回一组票据,但我遇到了一些试图解析票单列表的问题。我一直试图尽可能多地使用正则表达式来强迫自己学习语法,我可以认为这应该起作用,但可惜,这不是,所以我来这里寻求你的集体智慧。正则表达式来提取匹配之间的文本块
<tr>
...
...
...
...
</tr>
我想在这里检索标记之间的块,以便我可以再次解析特定信息。块大小非常规则,但标签之间的线条可能会因票据中的描述长度而异。我目前使用的正则表达式是
/<tr>(.+)<\/tr>/
这似乎达到我的目的最小的方式,但我正在从错误的preg_match。我知道我可以标志和循环它在这个非常非常粗糙的伪代码
if /<tr>/ then {
while != /<\/tr>/ {
store line
}
}
但是在这里我的目标是更好地了解正则表达式,以及如何使用它的。
您的意思是“/
你的问题是什么? – Sjoerd 2010-06-23 16:18:19
哈哈对不起。它不工作。我想知道你们如何去做我想做的事情。我很难弄清楚我的正则表达式有什么问题。 – Melignus 2010-06-23 16:29:50
回答
使用Simple HTML DOM。
正则表达式解析html是一团糟。
来源
2010-06-23 18:01:40 racerror
总之是的。对不起,选择这个答案花了这么长时间,但我找出了问题所在。我试图解析正则表达式的大块文本。我通过投入一些下一个循环来固定它,以跟踪我的特定标签有多深。好消息是,该应用程序的作品,现在如果网站上有日历条目,我会在平日得到一条短信,甚至可以在一天内解析多个条目,为我自己感到骄傲,并且比我原先想象的要容易。 – Melignus 2010-10-12 16:51:05
.*?
而不是.*
,或者U(PCRE_UNGREEDY)修饰符匹配非贪婪。来源
2010-06-23 16:21:21 Sjoerd
相关问题