簡體   English   中英

如何跳過html標題並使用正則表達式查找數字?

[英]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.

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