我正在使用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;
有人知道是否可以获得自定义属性的值,如果是,那该怎样才能实现?
感谢您的帮助!
答案 0 :(得分:3)
无论如何,我正要找到解决这类问题的方法,然后在这里磕磕绊绊突然想到了。
首先把它放在变量中:
$dataSrc='data-src';
$item['image'] = $img->$dataSrc;
答案 1 :(得分:3)
答案 2 :(得分:1)
<?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];
?>
您也可以使用它..
答案 3 :(得分: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提示!