php 正则表达式 url匹配

匹配url的文件扩展名如:http://www.sina.com.cn/abc/de/fg.phphttp://www.sina.com.cn/abc/de/fg.php... 匹配url的文件扩展名
如:
http://www.sina.com.cn/abc/de/fg.php

http://www.sina.com.cn/abc/de/fg.php?float=0.5
http://www.sina.com.cn/abc/de/fg.html?float=0.5
http://www.sina.com.cn/abc/de/fg.fg.php?float=0.5
要求用正则或者php函数匹配出以上的php或者html这样的扩展名
展开
 我来答
情谈学长
2019-09-09 · 加油,要努力成为别人眼中羡慕的自己
情谈学长
采纳数:2930 获赞数:45825

向TA提问 私信TA
展开全部

1,preg_grep(pattern,array);它的返回值是一个新数组,新数组的元素是成功匹配的元素。

2,preg_match(mode,string);它的返回值是一个整数,0或1,0表示匹配不成功,1表示匹配成功,preg_match()将在第一个匹配成功后停止搜索,不再继续匹配。

3,preg_match_all(模式,字符串,保存匹配结果数组(multidimensional array));在搜索字符串中,所有匹配的模式都提供正则表达式的匹配结果,并以指定的顺序将它们输出到指定的数组。它执行与字符串末尾匹配的全局正则表达式匹配。

4,preg_quote(string);转义正则表达式字符,preg_quote()需要一个参数字符串,并在每个正则表达式语法中为该字符添加反斜杠。

5,转换效果如图所示。

TableDI
2024-07-18 广告
仅需3步!不写公式自动完成Excel vlookup表格匹配!Excel在线免,vlookup工具,点击16步自动完成表格匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
百度网友faadf46
高粉答主

2019-07-22 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:66.9万
展开全部

1、 preg_grep(模式,数组);它的返回值是一个新数组,新数组的元素是匹配成功的元素。

2、preg_match(模式,字符串);它的返回值是一个整型,0或者1,  0表示匹配不成功,1表示匹配成功,preg_match()第一次匹配成功后将会停止搜索,不再继续往下匹配。

3、preg_match_all(模式,字符串,保存匹配结果的数组(多维数组));搜索字符串中,所有匹配模式给定正则表达式的匹配结果,并且将它们以指定的顺序输出到指定的数组中。它执行一个全局正则表达式匹配,一直匹配到字符串的末尾。

4、preg_quote(字符串);转义正则表达式字符,  preg_quote() 需要参数字符串,并向其中每个正则表达式语法中的字符前增加一个反斜线。

5、转换效果如图所示。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
w3cschoolcc
推荐于2017-11-25 · 超过12用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:37.3万
展开全部

不需要正则,以下代码就能实现:

<?php
$str = 'http://www.sina.com.cn/abc/de/fg.fg.php?float=0.5';
if(strpos($str, '?') !== false) {
$str = substr($str, 0, strpos($str, '?'));
$last_pos = strrpos($str, '.') + 1; // .号最后出现的位置
echo substr($str, $last_pos);
} else {
$last_pos = strrpos($str, '.') + 1; // .号最后出现的位置
echo substr($str, $last_pos);

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
klnno086
2014-02-28 · TA获得超过612个赞
知道答主
回答量:320
采纳率:0%
帮助的人:157万
展开全部
\ /主。 *程序Info3 = \ D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
这不是郁闷
2014-02-28 · 超过17用户采纳过TA的回答
知道答主
回答量:47
采纳率:100%
帮助的人:39万
展开全部
<?
$url="http://www.sina.com.cn/abc/de/fg.fg.php?float=0.5";
preg_match('/http:\/\/[0-9a-z\.\/\-]+\/[0-9a-z\.\/\-]+\.([0-9a-z\.\/\-]+)/',$url,$arr);
echo $arr[1];
?>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式