【发布时间】:2017-04-08 15:12:23
【问题描述】:
解析任意文本字符串中第一个<img> 标记的src 属性但不使用任何外部库的最简单但可靠的方法是什么?这意味着获取 <img> 标签的 src 属性的打开和关闭 " 字符之间的所有内容。
我做了这个脚本,但在某些情况下它不是一个可靠的解决方案:
$string = $item['description'];
$arr = explode('img', $string);
$arr = explode('src', $arr[1]);
$arr = explode('=', $arr[1]);
$arr = explode('>', $arr[1]);
$pos1 = strpos($arr[0], '"')+1;
$pos2 = strrpos($arr[0], '"')-1;
if (!$pos1) {
$pos1 = strpos($arr[0], "'")+1;
$pos2 = strrpos($arr[0], "'")-1;
}
if ($pos1 && $pos2) {
$result = substr($arr[0], $pos1, $pos2);
}
else { $result = null; }
【问题讨论】:
-
DOMDocument不是外部库,为什么不用呢?使用getElementsByTagName(),抓住第一个项目,然后得到src和$img->getAttribute('src')。 -
DOMDocument 可能在某些服务器上不可用?
-
DOMDocument 是 PHP 内置类。
-
好的,会试试的,谢谢