簡體   English   中英

PHP Regexp:忽略定義的子字符串之前的所有內容

[英]PHP Regexp: ignoring everything before a defined substring

我正在嘗試解析網頁。 基本上,它存儲在一個如下所示的字符串中:

"[HTML CODE ...]world:[HTML CODE ...]my_number[REST OF HTML_CODE ...]"

當然,“ world:”和“ MY_NUMBER”是html代碼的一部分,但是我想在第一次出現“ world:”之前忽略所有內容。 我需要的是第一個出現在“ world:”之后的第一個數字,請記住,在它們之間會有一堆html代碼。 我可以將html代碼子字符串化,但是如果可能的話,我只想通過使用一個正則表達式來完成所有這些工作。

這是我嘗試匹配的正則表達式:

'/(?<=world:)\D+?[0-9]+/'

但這會返回“ world:”和我的電話號碼之間的所有html內容。

謝謝!

我認為您快要掌握了。 我能夠在您提供的字符串上使用它。

$subject = "[HTML CODE ...]world:[HTML CODE ...]3334[REST OF HTML_CODE ...]";
$pattern = "/world:\D+?(?<my_number>[0-9]+)/";
$matches = array();

$result =  preg_match_all($pattern, $subject, &$matches);

print_r($matches);

結果是:

Array
(
    [0] => Array
        (
            [0] => world:[HTML CODE ...]3334
        )

    [my_number] => Array
        (
            [0] => 3334
        )

    [1] => Array
        (
            [0] => 3334
        )

)

暫無
暫無

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

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