请帮助我,我需要脚本,在加载页面上使用file_get_contents选择标记(<DIV id="image">any text in source soce</DIV>
)之间的文本。
一位朋友告诉我,但它不起作用:
$vyber = file_get_contents($url);
preg_match_all("'<span>(.*?)</span>'si", $vyber, $get);
答案 0 :(得分:0)
我不知道正则表达式是否是最好的解决方案。
你不能创建完整的正则表达式(或者你可以但需要花费很多时间)才能覆盖
<div somethingelse="" id="image"></div>
<div id="Image></div>
<div id=Image></div>
我要做的是使用html dom解析器 http://simplehtmldom.sourceforge.net/
代码如下:
<?php
require_once('DomParserFile.php'); //Replace this ofc
$Html = file_get_html('http://YourUrlHere.com/'); //html not file :)
$ContentInThisDiv = $Html->fing('div#image')->src;
echo($ContentInThisDiv);
?>
答案 1 :(得分:0)
$dom = new DOMDocument;
$dom->loadHTMLFile('http://urlhere.com');
$xpath = new DOMXPath($dom);
$nodes = $dom->getElementsByTagName('div');
foreach($nodes as $val):
$id = $val->getElementByid('image');
foreach($id as $content){
$text = $content->nodeValue;
endforeach;
echo $text . '</br>\n';
endforeach;
虽然没有经过测试,但这应该可行。