簡體   English   中英

PHP正則表達式帶有HTML標簽的preg_match

[英]php regular expression preg_match with html tag

我寫一些簡單的代碼

$test='<span class="h2">AAAA</span> <div>aaaa</div> <p>ccc</p>';
preg_match('<\<(.*)>',$test,$matches);
echo $matches[0]

結果是:

AAAA

a

抄送

我不明白為什么$ matches [0]會像這樣。

有人可以解釋一下嗎?

謝謝。

那就是您在瀏覽器中看到的輸出。 檢查HTML源代碼或從命令行運行。 您真正得到的是:

<span class="h2">AAAA</span> <div>aaaa</div> <p>ccc</p>

為什么? 因為<>是您預料的定界符 因此,實際的正則表達式只是\\<(.*) ,說“給我一個小於號,然后再加上任意數量的任何東西”。 preg貪婪,所以它會消耗盡可能多的能量,這就是為什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM