【发布时间】:2017-06-02 20:41:25
【问题描述】:
我的脚本遇到了障碍,我必须检查某个网站上的可用性。我需要 html 标记中的文本,但我不确定如何处理它。
我测试过的代码是这样结束的:
<?php
ini_set("allow_url_fopen", 1);
$homepage2 = file_get_contents('https://www.someurlwithavailability.com');
//URL has the following HTML tag: <div id="Availability">
Availability: Special Offer, ships within 10 - 15 business days </div>"
preg_match("/<div id="Availability">(.*?)</div>/si", $homepage2, $avail);
print_r($avail);
echo '<br>', '~Availability is~', '<br>', $avail, '<br>';
$stringavail=implode(" ",$avail);
echo $stringavail;
?>
根据我在 preg_match(***,$homepage2, $avail); 之后放置的内容,我会收到各种错误。而且我不确定我需要输入什么语法来检索文本。
我上面的代码给了我这个:
解析错误:语法错误,第 6 行 /u/o/placeiamrunningthecodefrom.php 中的意外“可用性”(T_STRING)
请求的 URL 带有一个非常大的完整 HTML 页面。这个 HTML 标签是唯一的,不会重复。
谁能帮帮我?
【问题讨论】:
-
有没有使用 php dom 的选项?如果元素 id/类不是动态的,我更喜欢使用 php dom 来解析 html 字符串
-
我读过 DOM,但我对它如何修改我必须使用的 html 感到困惑。所以我试图远离它。
-
通过这些答案的组合,我现在有了一个解决方案。谢谢!
标签: php html preg-match file-get-contents