2016-04-09 38 views
0

特色圖片我已經在那裏用戶輸入的帖子內容的圖片網址博客系統,如 - >獲得從發佈的內容

hey how are you <img src="www.example.com/image.png" style="height=100px;"> 

然後我想找到這個[IMG SRC]線,並以此爲特色像這個 - > www.example.com/image.png

這裏的圖像是我曾嘗試: $內容是發佈從形式內容

preg_match('/(<img .*?>)/', $content, $img_tag); 
$feature = $img_tag[0]; // This preg_match finds img src tag and provide me 
$regex = '~<img.*?src=[\'"](?:view-source:)?([^"\']+).*?\/?>~'; 

$featured = preg_replace($regex, "$1", $feature); 

任何人都可以調整出他的問題回覆?

+0

所以你只是想從帖子中的第一個''標籤獲得'src'屬性?或者我錯過了什麼? –

回答

1

如果你想提取第一<img>標籤的src屬性的內容,你需要的是這樣的:

preg_match_all('/<img.*src="(.*)"/', $content, $matches); 

$featured = isset($matches[1][0]) ? $matches[1][0] : null; 

現在讓我來解釋一下發生在這裏:

preg_match_all匹配整個字符串,而preg_match停止在第一行,除非您添加s修飾符。對於$matches數組,第一個索引代表匹配組。匹配組的編號是從表達式開始到組的數量爲(0匹配整個表達式。因此$matches[1]代表src參數內匹配組的結果。

從該數組中,我們取第一個元素,即src屬性中的第一個匹配img標記的內容。

當然,內容中不需要有任何圖像,這就是爲什麼您應該在嘗試訪問結果之前調用isset

我希望這可以解釋它。