-2
URLである文字列から2つの値を取り出す小さなスクリプトを作成しています。以下のコードでURLの例を見ることができます.2桁の「i =」値と長い「l =」値を引き出そうとしています。PHPで正規表現の配列インデックスを抽出する
これについていくつかの広範な検索を行いましたが、スタックオーバーフローに関するその他の質問はすべてかなり簡単でした。
私はスーパー近いよかなり確信しているが、最終的に私は、Python/Djangoの男だと私は次のコードが機能しない理由に途方に暮れてよ:
$s = "http://mwo.smurfy-net.de/mechlab#i=16&l=71a1896409db5818783971b72ba043f5f3a44fad";
$matches = array();
$result = preg_match('/^i=(?P<iVal>[0-9]+)&l=(?P<lVal>[a-z0-9]+)$/siU', $s, $matches);
echo $matches['iVal'];
echo $matches['lVal'];
を私が実行されると、 2つの配列値iValとlValがどのように定義されていないかについてのエラーを取得します。
問題がコード自体か私の正規表現であるかどうかは分かりません。どんな助けもありがとう。
'^'は、行の先頭に位置をアサートします。 'U'フラグなしで' i =(?P [0-9] +)&l =(?P [a-z0-9] +) 'を使用してください。ある時点で、 'l 'の後に別の変数を追加する –
ctwheels