我环顾了一会儿,但可能我不能用适当的关键字“谷歌”,所以我在这里问。我需要使用regexp(php)
从字符串中提取url一个简单的例子应该会有所帮助:
目标:提取网址http://en.wikipedia.org/wiki/Kettle
基本字符串:
/url?q=http://en.wikipedia.org/wiki/Kettle&sa=U&ei=VpnIUP22Js3B0gWKhoCgCQ&ved=0CB0QFjAA&usg=AFQjCNGS7-bieZB8Vh7xR5sjOy-KT86ANQ
答案 0 :(得分:4)
有比正则表达式更好的选项来做到这一点。例如,PHP提供了两个函数parse_url
和parse_str
,它们完全符合您的要求:
$query = parse_url($string, PHP_URL_QUERY);
parse_str($query, $parameters);
$result = $parameters['q'];
当然,这只是除非您需要使用正则表达式,因为这是您提供的所有框架,或者因为它是某种练习。
答案 1 :(得分: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];
?>