我试图修改脚本以提取信息:
有些页面例如:
<ul class="tags">
<li><div class="tag"><a href="http://www.url1.com" title="url1">title 1</a></div></li>
<li><div class="tag"><a href="http://www.url2.com" title="url2">title 2</a></div></li>
</ul>
我想获得标题1,标题2
我有这段代码:
$m=array();
preg_match_all("/<a href="(.*)" title="(.*)">(.*)<\/a>/i", $buff,$m);
$info['tags']=trim(strip_tags($m[3]));
$cats=array_map('trim',$cats);
$info['tags']=implode(',',$cats);
但是我得到了trim和array_map的错误。
感谢您的帮助。
答案 0 :(得分:0)
代码中的第一个错误位于第3行:
$info['tags']=trim(strip_tags($m[3]));
这里函数strip_tags
应该以字符串作为参数,但$m[3]
是数组。快速解决方法是:
$info['tags']=array_map('strip_tags',array_map('trim',$m[3]));
$ info [tags]现在是:
[tags] => Array
(
[0] => title 1
[1] => title 2
)
比应用implode函数所以:
$info['tags'] = implode(',', $info['tags']);
干杯,Bea