我有多个图片标签的字符串。 喜欢这个
<img src="/files/028ou2p5g/blogs/9d66329f4/5844644f69fe7-64.jpg">
我想找到 FIRST 这样的标记,并从中获取图像名称 的 5844644f69fe7-64.jpg 怎么可以在PHP中完成,因为字符串中有很多其他文本和标签?
答案 0 :(得分:4)
你应该像@moopet建议的那样使用。这是代码,但请归功于@moopet。
$str = '<img src="/files/028ou2p5g/blogs/9d66329f4/5844644f69fe7-64.jpg">';
$doc = new DOMDocument();
$doc->loadHTML($str);
$first_img = $doc->getElementsByTagName("img")[0];
var_dump( basename($first_img->getAttribute('src')) );
答案 1 :(得分:1)
不要使用正则表达式。使用PHP的DOM解析器或其他方法提取标签,然后使用src
元素上的PHP basename()函数来提取文件名。
答案 2 :(得分:0)
使用preg_match_all()
查找所有出现的情况,然后获取第一个出现的情况。
示例:
<?php
preg_match_all('/<\s*img[^<>]+?src\s*=\s*[\'\"][^<>\'\"]+?\/([^<>\'\"\/]\.jpg)/', $html, $matches, PREG_SET_ORDER);
var_dump($matches[0]);
?>