[英]How to skip html headings and find number with regex?
我想找到NUMBER,但是跳過H1,H2,H3等。(所有可能的HTML標題變體)
范例1:
<div>Today is good day. I got<h3>3<span> lotto tickets</span></h3></div>
范例2:
I want to buy lotto tickets. <h1>Maybe 10 is enough</h1>
范例3:
I want to buy lotto tickets. <h1>4 or 5</h1> is enough.
我有以下代碼:
lotto tickets\D{0,15}(\d+\,\d+|\d+\.\d+|\d+)
但是每次我從HTML標記中獲取數字時。。 <h3>
(3), <h1>
(1)。 我如何跳過它們?
在示例1中,我什么也不會得到
在示例2中,我應該得到數字10
在示例3中,我應該得到數字4
(數字可以是具有或,例如:2.5)
這是可能無法正確使用正則表達式的情況之一。
是的,您可以使用正則表達式進行操作,但是更簡單的方法(以及更快的運行速度)是先在字符串上運行strip_tags()以擺脫所有HTML標簽,然后再執行數字的標准正則表達式。
$string = "<h3>This is post number 10</h3>";
$cleanString = strip_tags($string);
preg_match("%\b[0-9]+\b%",$cleanString,$number);
您應該使用以下正則表達式:
<h[1-6]>[^\d\<]*(\d+)[^\<]+<\/h[1-6]>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.