php正则url
‘壹’ php 正则表达式 url匹配
1,preg_grep(pattern,array);它的返回值是一个新数组,新数组的元素是成功匹配的元素。
‘贰’ php如何使用正则表达式匹配url图片啊
可以这样:
$image="http://xxxxxxxxx.jpg"
preg_match("/(http://)?w+.jpg/",$image,$matches);//http://可要可不要
echo$matches[0];//$matches[0]即为匹配的图片路径
以上只是匹配jpg类型的图片
如果要匹配其他类型可以这样使用
preg_match("/(http://)?w+.(jpg|jpeg|gif|png)/",$image,$matches);
echo$matches[0];
‘叁’ PHP 正则表达式如何添加URL参数 ,并把&替换成amp;
preg_replace('/(&|\\?)pagesize=[^&]+/', '', $_SERVER['REQUEST_URI']) str_replace 或replace 或preg_replace 用正则是比较笨的办法
‘肆’ PHP-php中如何使用正则表达式匹配URL中的域名
<?php
//从URL中取得主机名
preg_match("/^(http://)?([^/]+)/i","IP/index.html",$matches);
$host=$matches[2];
//从主机名中取得后面两段
preg_match("/[^./]+.[^./]+$/",$host,$matches);
echo"domainnameis:{$matches[0]} ";
?>
‘伍’ PHP 正则验证URL网址格式是否有效
PHP使用ereg()正则表达式函数来验证网址URL的格式是否符合规定,若网址有效则返回true,无效则返回false。本函数在PHP中属常用函数。本函数执行返回布尔值。
PHP检测网址是否效的
1 function CheckUrl($C_url){
2 if (!ereg("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $C_url))
3 {
4 return false;
5 }
6 return true;
7 }
‘陆’ php 正则验证是url否以http://开始 返回值是啥 我是一菜鸟 求解
<?php
$url = "http://www..com";
$pa = '/\b((?#protocol)https?|ftp):\/\/((?#domain)[-A-Z0-9.]+)((?#file)\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?((?#parameters)\?[A-Z0-9+&@#\/%=~_|!:,.;]*)?/i';
preg_match_all($pa,$url,$r);
if($r[1][0]=='http')
{
echo '当前网络访问协议是 http';
}
?>
如果单纯地只是检测是不是以http://开头,可以直接用strpos函数来完成,这样速度更快。
‘柒’ php 正则表达式 提取指定超链接中的url
preg_match_all('/<a[^>]+href="([^"]+)"[^>]+class="green"
[^>]+/Ui', $str, $arr);
print_r($arr[1]);
‘捌’ php 正则中 这个表示什么 /\</i 原句是preg_match('/\</i',$url)
你好,preg_match函数是php内置的一个正则匹配函数,它的匹配规则必须加上前后/;比如我要匹配字符a 可以这样写 preg_match('/a/',$url); 而你那个是 /\</i 里面的\是个转义字符(特殊字符需要转义)而i表示忽略大小写,其实按照你的这个匹配要求可以不用写i ;自然你这个的意思就是匹配<
如果$url这个字符串中包含<则返回1否则返回0(preg_match(pattern,$url)返回 pattern 的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后 将会停止搜索)
‘玖’ PHP 正则表达式如何替换URL参数
用正则是比较笨的办法,但也给你提供一下了:
function getpage(){
//你可以把获取当前page的代码放在函数里
return 123;
}
$str = 'index.php?main_page=index&cPath=55&pagesize=48';
$ptn = '/&pagesize=(\d+)/';
$pagenum = getpage();
$rep = '&pagesize='.$pagenum;
echo $str; // 输出:index.php?main_page=index&cPath=55&pagesize=48
preg_replace($ptn,$rep,$str);
echo $str; // 输出:index.php?main_page=index&cPath=55&pagesize=123
另外多说一下,这种情况可以使用
http_build_query()
这个函数。
具体使用方法:
$u['main_page']=$_GET['main_page'];
$u['cPath']=$_GET['cPath'];
$u['pagesize']=getpage();
$url = 'index.php?'.http_build_query($u);
echo $url;
这个函数很好用,比你自己去匹配好。