繁体   English   中英

preg_match和图片网址

[英]preg_match and images URL

我在PHP中的preg_match函数有一个小问题。 我认为我永远不会学习如何使用此功能。 我想从HTML中提取图像的URL而没有图像名称。 例如,如果我有一些图像链接:

"/data/images/2013-10-03/someimage.jpg"

要么

"http://something.com//data/images/2013-10-03/someimage.jpg"

如何使用preg_match函数删除最后一个正斜杠左边的所有内容,以便仅从URL获得图像名称?

也许使用不同的功能会更聪明,但我不知道是哪个功能?

PS:您能给我一些有关preg_match函数的很好的教程吗?

也许我忘了说...我不知道图像名称多长时间或确切的图像名称是什么。 我需要仅提取最后一个正斜杠右侧的函数。

$pattern = '/[\w\-]+\.(jpg|png|gif|jpeg)/';
$subject = 'http://something.com//data/images/2013-10-03/someimage.png';
$result = preg_match($pattern, $subject, $matches);
echo $matches[0]; //someimage.jpg

不需要正则表达式或任何花哨的东西:

$var = "http://something.com/data/images/2013-10-03/someimage.jpg";

$image = basename($var);

您需要使用preg_replace()并且可以尝试在线使用与常规游戏一起玩,这是学习正则表达式的快速方法。 http://preg_replace.onlinephpfunctions.com/

例如:/ /\\/someimage.jpg/替换为'' (空)。

它会返回http://something.com//data/images/2013-10-03http://something.com//data/images/2013-10-03/someimage.jpg

您可以使用简单HTML DOM解析器在a标签之间获取href。 例如:

foreach($ html-> find('a。[class =“ your class”]')as $ var)//回显“ href”。 >文本
“;

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM