0
A
回答
1
這應該工作
/<img\s+src="(.*?)"/
0
此作品(嘗試測試這裏http://www.spaweditor.com/scripts/regex/index.php)
/".*[^"]/
0
/<img src="([^"]*)">/
工程。
0
可能是你認爲正確的方向^」:
<img +src="([^"]+)">
0
#<img src="(.*)[^"]"># // original
這幾乎是在正確的軌道上。但是它結合了兩種不同的方法
的(.*)
過。貪婪,您需要添加一個?
以提前停止。(.*?)
否則它會淹沒報價。
而[^"]
則是多餘的。但是,您可以將其用作非特定.*
的替代品。只需將其嵌入到大括號中即可。它具有從不偶然地匹配封閉引號的優點。你可以做同樣的替代空間,使整個正則更有彈性,並離開了收盤>
所以它也當額外的屬性都存在工作:
#<img[^>]+src="([^"]*)"#
這是爲數不多的案例之一,其中普通表達式可以接受使用。如果你想匹配更復雜的HTML,然後喜歡proper parser(phpQuery或QueryPath中大大簡化它。)
0
其他答案只會如果src的只有屬性的img標籤將有工作,它永遠是第一位。
if (preg_match('/<img\s+(?:\w+="[^"]+"\s*)*?src="([^"]+)/', $input, $matches))
$src = $matches[1];
相關問題
- 1. 使用正則表達式提取兩個字符串之間的字符串
- 2. 提取兩個正則表達式之間的字符串
- 3. 正則表達式兩個字符之間的字符串php
- 4. 如何使用正則表達式提取兩個字符串之間的值?
- 5. 僅提取兩個正則表達式模式之間的字符串部分
- 6. php正則表達式找到兩個字符串之間的字符串
- 7. 正則表達式 - 找到兩個字符串之間的字符串PHP
- 8. 階正則表達式:找到兩個字符串之間串
- 9. 正則表達式,提取字符串不在兩個括號之間
- 10. 在兩個單詞之間提取字符串的正則表達式
- 11. 使用正則表達式獲取兩個分隔符(子字符串)之間的所有字符串PHP
- 12. C# - 正則表達式 - 獲取兩行之間的字符串
- 13. 正則表達式提取字符串
- 14. 使用正則表達式從字符串提取信息
- 15. 使用正則表達式提取「 - 」之間的字符集powershell
- 16. 使用正則表達式提取字符之間的數據?
- 17. 使用正則表達式從字符串中提取字
- 18. 使用正則表達式從字符串中提取字
- 19. 使用正則表達式從字符串中提取數字
- 20. 使用正則表達式中的正則表達式提取子字符串
- 21. 正則表達式來兩個字符串之間但重複
- 22. 正則表達式在兩個字符串之間
- 23. 使用正則表達式從字符串中提取標籤
- 24. 正則表達式提取字符串
- 25. 正則表達式提取字符串
- 26. 正則表達式提取字符串
- 27. 正則表達式提取字符串
- 28. 正則表達式提取字符串
- 29. 正則表達式提取字符串
- 30. 提取字符串正則表達式
的可能重複的[正則表達式用於抓住的A元素href屬性(http://stackoverflow.com/questions/3820666/regular-expression-for-grabbing-the-href-attribute-of一個元素) – Gordon 2011-01-20 22:03:54