1
所以,正则表达式一直是我存在的一段时间的祸根。我觉得我正在理解它的风口浪尖,但我感到非常沮丧。总之:我在RegEx表达式中缺少什么?
我试图通过PHP刮从以下网站数据:
http://magicseaweed.com/Asbury-Park-Surf-Report/857/
我想提取页面顶部的大胆波高(目前,它读3-5)。我明白为什么这个工程:
preg_match('/<div class="msw-fct-ccd msw-sr-details span3"> <h3> <span>(.*)
<small>ft<\/small> <\/span> <div class="msw-fct-ccr msw-sr-rating">/', $pageMagic,
$height);
但我不明白为什么这会不会:
preg_match('/<div class="msw-fct-ccd msw-sr-details span3"> <h3> <span>(/d-/d)|(/d)
<small>ft<\/small> <\/span> <div class="msw-fct-ccr msw-sr-rating">/', $pageMagic,
$height);
在我的脑海里,按理来说,应该寻找一个数字,一个破折号,随后另一个数字或只是一个数字。我在http://gskinner.com/RegExr/中测试了正则表达式,它拿起了3-5。先谢谢你!
**不要使用正则表达式来解析HTML **。你不能用正则表达式可靠地解析HTML,你将面临悲伤和挫折。只要HTML从你的期望改变,你的代码就会被破坏。有关如何使用已经编写,测试和调试的PHP模块正确解析HTML的示例,请参阅http://htmlparsing.com/php。 – 2013-03-19 22:20:23