我有一个字符串:
...<a href="http://mple.com/nCCK8.png">...
由此我试图删除
"nCCK8.png" part
我尝试了substr,但这需要2个数字并且不起作用,因为它可以在字符串中的不同位置。它确实只在字符串中出现一次。
基本字符串在nCCK8.png部分之前始终具有mple.com/,并始终为“&gt;之后。
最简单的方法是什么?
答案 0 :(得分:4)
[^\/]+?\.png
$_ = null;
if (preg_match('/([^\/]+?\.png)/i',$data,$_)){
echo $_[1];
}
答案 1 :(得分:2)
$tmp = explode('/', $string);
//if you actually WANT the "nCCK8.png" part
return substr($tmp[count($tmp) - 1], 0, -2);
//if you actually want the rest of it
$tmp = $array_pop($tmp);
return substr(implode('/', $tmp), 0, -2);
除非字符串比您发布的字符串长,并且包含其他斜杠,否则这应该有用。
答案 2 :(得分:0)
通过simplexml或DOM(请参阅this answer)获取href元素,然后使用parse-url获取实际文件,最后basename:
<?php
$href = 'http://mple.com/nCCK8.png';
$url_parts = parse_url($href);
echo basename($url_parts['path']);
?>