抓住一切

时间:2016-04-17 08:41:58

标签: php preg-match-all

我试图从我得到的HTML输出中获取商店名称和地址。但是,它告诉我我的分隔符不正确。我能得到的任何帮助都非常感谢!

我只是需要帮助来提取<strong></td>

之间的所有内容

源代码:

<td>
    <p><a href="javascript:void(0);" onclick="google.maps.event.trigger($('#map').data('gomarker1'), 'click');"><strong>KMART 7418</strong></a></p>
    4330 CAMINO DE LA PLZ<br />
    SAN YSIDRO, CA. 92173
</td>

我尝试了以下内容,只需提取KMART 7418和地址,但它无效:

preg_match_all("/\<a href\=\"javascript:void(0);\"(.*?)\</td>/", $output, $matches, PREG_SET_ORDER);
foreach ($matches as $val) {
    echo $val;
}

1 个答案:

答案 0 :(得分:1)

因为存在“和'的冲突,我无法给你一个正常运行的例子。但我会告诉你如何去做。

$pos = strpos($string,"<strong>");
$pos2 = strpos($string, "</td>");
$newstring = strip_tags(substr($string, $pos, ($pos2-$pos)));
Echo $newstring; //this should be the stuff between strong and td

我没有测试过,但应该可以使用

编辑:忘记字符串/ $ pos2

的结尾

EDIT2:
关于沙箱的工作示例:
http://sandbox.onlinephpfunctions.com/code/117f50cd48bf72bba0e612b6743cb8fe1b8c58a0