【发布时间】:2011-06-11 15:01:08
【问题描述】:
我的文本中有 img 标签,我想从 src 中获取文件名
所以我使用这个代码
preg_match_all("|\/img\/(.*)\/>|U", $article_header, $matches, PREG_PATTERN_ORDER);
echo "match=".$matches[1][0]."<br/>";
这样做我得到了这个结果
match=500.JPG\" alt=\"\" width=\"500\" height=\"360\"
所以在这种情况下,我使用“\/>”,表示标签的结尾。
但我只想要文件名“500.JPG”所以我必须使用“\”但是当我这样做时
preg_match_all("|\/img\/(.*)\\|U", $article_header, $matches, PREG_PATTERN_ORDER);
我没有匹配到:( 请帮忙
在 yes123 的帮助下我做到了
$doc = new DOMDocument();
$doc->loadHTML($article_header);
$imgs = $doc->getElementsByTagName('img');
$img_src = array();
foreach ($imgs as $img) {
// Store the img src
$img_src[] = $img->getAttribute('src');
echo $img_src[0];
}
这给了我这个
\"sources/public/users/qqqqqq/articles/2011-06-11/7/img/500.JPG\"
但现在无论如何我只想要 500.JPG
那么什么是正确的正则表达式?
【问题讨论】:
-
你为什么使用正则表达式?
标签: php