0

我有一个 URL,我试图从中分解出所有内容并只获取其中的数字......它看起来像这样:www.url.com/blalb/5435/blabla

网址一直都不同,所以我需要分解除数字之外的所有内容。它必须与PHP一起使用。

4

1 回答 1

0

尝试这个:

$url;                  #this contains your url string
$matches = array();    #this will contain the matched numbers

if(preg_match_all('/\d+/', $url, $matches)) {
    $numbers = implode('', $matches[0]);
    echo "numbers in string: $numbers";
}

这使用正则表达式preg_match_all来匹配字符串中的所有数字组,将每个组放入$matches[0]数组中。然后你可以简单地implode将这个数字组数组变成一个字符串。

例如,如果$url包含'www.url.com/blalb/5435/blabla/0913',则输出为numbers in string: 54350913

如果您只想匹配 URL 中的第一组数字,请使用preg_match代替preg_match_all

if(preg_match('/\d+/', $url, $matches)) {
    $numbers = implode('', $matches);
    echo "numbers in string: $numbers";
}

如果要匹配字符串中的特定数字组(第一个除外),则需要更复杂的正则表达式。

于 2013-05-22T18:44:45.533 回答