php 正则表达式 url匹配

2024-11-30 00:18:43
推荐回答(5个)
回答1:

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,转换效果如图所示。

回答2:

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

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

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

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

5、转换效果如图所示。

回答3:

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

$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);

}

回答4:

\ /主。 *程序Info3 = \ D

回答5:

$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];
?>