0

私はそれからすべてを爆発させ、その中の数字だけを取得しようとしているURLを持っています...それは次のようになります: www.url.com/blalb/5435/blabla

URL は常に異なるため、数字以外のすべてを分解する必要があります。それは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 に答える