哪位帮忙搞一下url转换的正则表达式(在线等)

lp 2005-06-09 11:42:07
http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F+%E8%B6%85%E9%93%BE%E6%8E%A5&lr=lang_zh-CN%7Clang_zh-TW

/^http:\/\/?([^\/]+)[^?]+(.*)/i
这个正则解出了www.google.com及后面的查询字串

如上地址,需要正则表达式能解析出某一个查询字串的值
如何直接用正则来搞定,头看晕了.100分送上

...全文
158 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lp 2005-06-09
  • 打赏
  • 举报
回复
感谢楼上的,好久不写php,都忘了有parse_url这个函数了
xuzuning 2005-06-09
  • 打赏
  • 举报
回复
这个不需要正则,而且用正则并不好处理
<?php
$s = "http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F+%E8%B6%85%E9%93%BE%E6%8E%A5&lr=lang_zh-CN%7Clang_zh-TW";
$a = parse_url($s); //解析URL
$q = $a[query]; //取得其中参数部分
parse_str($q,$a); //解析参数串
print_r(array_map('urldecode',$a)); //url解码并输出
?>
Array (
[hl] => zh-CN
[newwindow] => 1
[q] => 正则表达式 超链接
[lr] => lang_zh-CN|lang_zh-TW
)
注意:url中的文字是utf-8编码的
ice_berg16 2005-06-09
  • 打赏
  • 举报
回复
<?php

$url = "http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F+%E8%B6%85%E9%93%BE%E6%8E%A5&lr=lang_zh-CN%7Clang_zh-TW";

echo getParam( $url, 'lr' );

function getParam($url, $param )
{
$a = parse_url( $url );
$q = $a['query'];
$pa = explode( "&", $q );
foreach( $pa as $p )
{
$v = explode( "=", $p );
if( $v[0] == $param )
{
return $v[1];
}
}
return null;
}
?>

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧