php正则过滤网址中一个参数,如何如何写

php中文网
发布: 2016-06-13 10:50:55
原创
1076人浏览过
php正则过滤网址中一个参数,请教高手怎么怎么写?
有以下网址:

http://127.0.0.1/c/1.php?ft=x7cj
需过滤成:http://127.0.0.1/c/1.php

http://127.0.0.1/c/1.php?form=post&ft=gy4e
需过滤成:http://127.0.0.1/c/1.php?form=post

http://127.0.0.1/c/1.php?ft=7yd4r&form=post
需过滤成:http://127.0.0.1/c/1.php?form=post



比如用上面三种格式的网址打开以下php文件,如何用正则输出过滤出的效果?

$tjurl="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//怎么用一句话正则过滤上面三种格式的网址?网址中参数“ft=*****”中的*****不是固定的字母或数字,随机变化的

echo "$tjurl";
 exit;
?>

------解决方案--------------------
PHP code
<?php $str = 'http://127.0.0.1/c/1.php?ft=x7cjhttp://127.0.0.1/c/1.php?form=post&ft=gy4ehttp://127.0.0.1/c/1.php?ft=7yd4r&form=post';$str = preg_replace('/[\?&]ft=\w+/','',$str);var_dump($str);?><br><font color="#e78608">------解决方案--------------------</font><br>
登录后复制
PHP code
 $arr=array('http://127.0.0.1/c/1.php?ft=x7cj','http://127.0.0.1/c/1.php?form=post&amp;ft=gy4e','http://127.0.0.1/c/1.php?ft=7yd4r&amp;form=post');print_r(array_map('foo',$arr));function foo($url){   $ar=parse_url($url);   if(!isset($ar['query'])) return $url;      parse_str($ar['query'],$arr);   unset($arr['ft']);   return $ar['scheme'].'://'.$ar['host'].$ar['path'].($arr ? '?'.http_build_query($arr) : '');}<br><font color="#e78608">------解决方案--------------------</font><br>这样写(注释掉后面的$s可测试前面的)<br>$s = 'http://127.0.0.1/c/1.php?seed=add&amp;ft=7yd4r&amp;form=post';<br>$s = 'http://127.0.0.1/c/1.php?ft=x7cj';<br>$s = 'http://127.0.0.1/c/1.php?form=post&amp;ft=gy4e';<br>$s = 'http://127.0.0.1/c/1.php?ft=7yd4r&amp;form=post';<br><br><strong>echo preg_replace('/([?&amp;])ft=[^&amp;]+(&amp;?)/e', '"$2"==""?"":"$1"', $s);</strong><br><br>人家给你弄个数组,只不过是让你测试起来方便些<div class="clear"></div>
登录后复制
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号