我一直在尋找通過的問題,並得到了我的問題的一個更好的主意,不過,並沒有找到答案。正則表達式:匹配HTML文件中的所有alt屬性?
我在PHP中的正則表達式的問題。我試圖獲取HTML文件的「alt」屬性中的所有文本。我正在考慮所有可能的標籤名稱(img,輸入和區域)以及各種可能性,如字符間的空格和換行符(如<img alt = "Hello">
)。它也必須認識到,匹配字符串可以通過單次或雙引號括起來,並含有其他內(不同的)引號,例如:<img alt="Alan's picture">
或<img alt='Example for the word "hello" in the text'>
。
這是越來越難了我(我用正則表達式初學者),所以我就告訴你我得到了什麼。請注意,我正在嘗試在角色類中使用倒退,我發現這是一種錯誤的做法(或者我認爲)。
'/<\s*(?:img|input|area)\s[^>]*alt\s*=\s*("|\')([^\1>]*)\1[^>]*>/siU'
我也看到了在StackOverflow上,有人建議HTML解析器像這樣的東西,但我很擔心這種做法可能多少資源消耗。你認爲這是一個更好的主意嗎?謝謝!
而您並不擔心正則表達式解決方案會消耗多少資源(CPU和人員維護)? – Mat
這就是我的意思...... HTML解析器會消耗更多資源嗎?或更少?我正在嘗試HTML解析器的選擇,但我想知道哪種方法消耗的資源更少。 – Diego