我有一个 URL,我试图从中分解出所有内容并只获取其中的数字......它看起来像这样:www.url.com/blalb/5435/blabla
网址一直都不同,所以我需要分解除数字之外的所有内容。它必须与PHP一起使用。
尝试这个:
$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";
}
如果要匹配字符串中的特定数字组(第一个除外),则需要更复杂的正则表达式。