簡體   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