1

しばらく見回しましたが、適切なキーワードで「グーグル」できないので、ここでお願いします。正規表現(php)を使用して、文字列からURLを抽出する必要があります

簡単な例が役立つはずです。

ターゲット:URLhttp ://en.wikipedia.org/wiki/Kettleを抽出します

ベース文字列:

/url?q=http://en.wikipedia.org/wiki/Kettle&sa=U&ei=VpnIUP22Js3B0gWKhoCgCQ&ved=0CB0QFjAA&usg=AFQjCNGS7-bieZB8Vh7xR5sjOy-KT86ANQ
4

2 に答える 2

4

これを行うには、正規表現よりも優れたオプションがあります。たとえば、PHPは2つの関数parse_urlを提供し、parse_strそれらはまさにあなたが望むことを実行します。

$query = parse_url($string, PHP_URL_QUERY);
parse_str($query, $parameters);
$result = $parameters['q'];

つまり、もちろん、正規表現を使用する必要がない場合に限ります。これは、フレームワークが提供するのはそれだけであるため、または何らかの演習であるためです。

于 2012-12-12T15:01:05.930 に答える
0

この正規表現をテストします。/q=([^&]+)/i

<?php
  $url = '/url?q=http://en.wikipedia.org/wiki/Kettle&sa=U&ei=VpnIUP22Js3B0gWKhoCgCQ&ved=0CB0QFjAA&usg=AFQjCNGS7-bieZB8Vh7xR5sjOy-KT86ANQ';
  $pattern = '/q=([^&]+)/i';
  preg_match($pattern, $url, $res);
  echo $res[1];
?>
于 2012-12-12T14:56:10.670 に答える