這篇文章主要為大家展示了“正值表達式如何匹配html標簽的屬性值”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“正值表達式如何匹配html標簽的屬性值”這篇文章吧。
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的蒼梧網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
需要獲取
$circle是上面的circle標簽的內(nèi)容
preg_match_all('/<\s*circle\s+[^>]*?cx\s*=\s*(\'|\")(.*?)\\1[^>]*?cy\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $circle, $arr); var_dump($arr);
$arr[2]是cx的值 ,$arr[4]是cy的值.
下面給大家介紹下正則匹配閉合HTML標簽(支持嵌套)
任何復(fù)雜的正則表達式都是由簡單的子表達式組成的,要想寫出復(fù)雜的正則來,一方面需要有化繁為簡的功底,另外一方面,我們需要從正則引擎的角度去思考問題。關(guān)于正則引擎的原理,推薦《Mastering Regular Expression》中文名叫《精通正則表達式》。挺不錯的一本書。
OK,先確定我們要解決的問題——從一段Html文本中找出特定id的標簽的innerHTML。
這里面最大的難點就是,Html標簽是支持嵌套的,怎么能夠找到指定標簽相對應(yīng)的閉合標簽?zāi)兀?/p>
我們可以這樣想,先匹配最前面的起始標簽,假設(shè)是div吧(
我之所以能夠這樣去思考,是因為我了解過正則的特性,我知道正則中的平衡組能夠?qū)崿F(xiàn)我剛才說的“堆?!辈僮?。所以,如果我們要編寫復(fù)雜正則表達式,需要對正則的一些高級特性至少有所了解,這樣我們思考問題才有個方向。
================================
匹配任意閉合HTML標簽的正則表達式:
<(?[\w]+)[^>]*?>((? <\k [^>]*>)|\k >(?<-Nested>)|.*?)*\k >
如果只想匹配div標簽,可以使用下面的正則表達式:
<(?div)[^>]*?>((? <\k [^>]*>)|\k >(?<-Nested>)|.*?)*\k >
是的,你可以把div修改成任意你想要匹配的HTML標簽
如果想同時匹配多個HTML標簽,可以使用下面的正則表達式:
<(?
你還可以繼續(xù)添加更多要匹配的標簽
如果想匹配包含ID的標簽,可以使用下面的正則表達式:
<(?[\w]+)[^>]*\s[iI][dD]=(? ["']?)footer(?(Quote)\k)[^>]*?(/>|>((?<\k [^>]*>)|\k >(?<-Nested>)|.*?)*\k >)
這個正則匹配任意id為footer的HTML標簽
以上是“正值表達式如何匹配html標簽的屬性值”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!