我使用的是PHP Simple HTML DOM Parser。在我想要解析的页面中,图像的"src"属性被替换为"data src"。因此,如果我尝试使用以下代码获取图像路径,它将不会返回任何结果:
$elimage = $offer->find('div.photo', 0);
$im = $elimage->last_child('a');
$img = $im->last_child('img');
$item['image'] = $img->src;
我试过这样做,但也不起作用:
$elimage = $offer->find('div.photo', 0);
$im = $elimage->last_child('a');
$img = $im->last_child('img');
$item['image'] = $img->data-src;
有人知道是否可以获得自定义属性的值吗?如果可以,如何实现?
谢谢你的帮助!
而不是
$img->data-src;
使用
$img->{'data-src'};
从这里获取
无论如何,我正要找到这类问题的解决方案,却在这里跌跌撞撞,然后突然想到了一个主意。
先把它放在变量中:
$dataSrc='data-src';
$item['image'] = $img->$dataSrc;
<?php
$str= "<a data-src='http://google.com'>Hello</a>";
$var=preg_split("/data-src=''/",$str);
//echo $var[1];
$var1=preg_split("/''/",$var[1]);
echo $var1[0];
?>
你也可以使用这个。。
感谢您的帮助!
我使用以下函数从字符串中获取URL:
function checkURL($str) {
$regex = '$'b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]$i';
preg_match_all($regex, $str, $result, PREG_PATTERN_ORDER);
$A = $result[0];
foreach($A as $a) {
$retval .= $a;
}
return $retval;
}
我找到的URL是绝对的,并且在给定的字符串中只有一个URL。
再次感谢Rajat Singhal的提示!