正则表达式价格 <p> 标记块出 html 与 php
Regex prices <p> tag block out of html with php
我试图从网页中抓取价格块,我想匹配包含价格的开头和结尾段落标签之间的内容。但是问题出在 html 输出源中这是吐到具有多个空格的多行上。这是输出示例 http://pastebin.com/hfeuHqTN
我正在尝试使用:
$pricesClass = '/<p class="price-wrap">\n(.*)/';
preg_match_all($pricesClass, $page, $pricesMatches);
如何将整个段落与价格包装的 class 匹配到结束段落标记?
目前它只匹配前两行:
<p class="price-wrap"><strong class="product-price" itemprop="price">
我想匹配整个东西,例如
<p class="price-wrap"><strong class="product-price" itemprop="price"> £120</strong> was <del>£186.00</del></p>
使用适当的 HTML
解析器,例如 DOMDocument and preg_replace (\s+
) 仅 删除
“空白字符”(任何 Unicode 分隔符、制表符、换行符、回车符 return、垂直制表符、换页符)
$dom = new DOMDocument();
$dom->loadHTML(file_get_contents("http://thesite.com");
$xpath = new DOMXpath($dom);
foreach ($xpath->query("//p[@class='price-wrap']") as $pText){
echo preg_replace("/\s+/", "", $pText->textContent);
}
我试图从网页中抓取价格块,我想匹配包含价格的开头和结尾段落标签之间的内容。但是问题出在 html 输出源中这是吐到具有多个空格的多行上。这是输出示例 http://pastebin.com/hfeuHqTN
我正在尝试使用:
$pricesClass = '/<p class="price-wrap">\n(.*)/';
preg_match_all($pricesClass, $page, $pricesMatches);
如何将整个段落与价格包装的 class 匹配到结束段落标记?
目前它只匹配前两行:
<p class="price-wrap"><strong class="product-price" itemprop="price">
我想匹配整个东西,例如
<p class="price-wrap"><strong class="product-price" itemprop="price"> £120</strong> was <del>£186.00</del></p>
使用适当的 HTML
解析器,例如 DOMDocument and preg_replace (\s+
) 仅 删除
“空白字符”(任何 Unicode 分隔符、制表符、换行符、回车符 return、垂直制表符、换页符)
$dom = new DOMDocument();
$dom->loadHTML(file_get_contents("http://thesite.com");
$xpath = new DOMXpath($dom);
foreach ($xpath->query("//p[@class='price-wrap']") as $pText){
echo preg_replace("/\s+/", "", $pText->textContent);
}