我一直在嘗試使用preg_match_all
30分鐘,但看起來我無法做到。從preg_match_all字符串中提取img src
基本上我有一個$var
其中包含一個HTML代碼的字符串。例如:
<br>iihfuhuf
<img title="Image: http://www.jlnv2.local/temp/temp513caca536fcd.jpeg"
src="http://www.jlnv2.local/temp/temp513caca536fcd.jpeg">
<img src="http://www.jlnv2.local/temp/temp513caca73b8da.jpeg"><br>
我想要得到的含有/temp/temp[a-z0-9]{13}\.jpeg
他們src
價值img
標籤src
屬性值。
這是我到目前爲止有:
preg_match_all('!(<img.*src=".*/temp/temp[a-z0-9]{13}\.jpeg"(.*alt=".*")?>)!', $content, $matches);
你嘗試過30分鐘...你有什麼想出什麼沒有工作? – 2013-03-10 16:13:12
preg_match_all('!!',$ content,$ matches);我只是不太明白preg_match_all是如何工作的。我可以製作這個模式,但不能讓preg_match_all像我期望的那樣工作。 –
2013-03-10 16:15:09
@MarcDupuis您應該爲此使用DOM和XPath,而不是(僅)正則表達式。使用包含'/ temp/temp'的'src'將HTML加載到''DOMDocument''(http://php.net/domdocument)和''標記的XPath中,並且您可以輕鬆地迭代匹配的節點並使用正則表達式來提取您需要的數據。你甚至可以用XPath註冊PHP函數,直接在XPath查詢中使用你的regex。 – DaveRandom 2013-03-10 16:18:37