php 正则表达式替换与正则替换函数

 更新时间:2016年11月25日 17:11  点击:1532
下面我们是要把指定正则出来的内空替换成别一种内容,这样做我们就会要用到正则替换函数preg_replace了,下面的实例是

文本有下面标签

 代码如下 复制代码

<img style src="<?=$url?>/images/styleno.jpg" width="30" height="30" />
<img style src="<?=$url?>/images/styleno.jpg" width="30" height="30" />
<img src="images/styleno.jpg" width="30" height="30" />
<img src="images/styleno.jpg" width="30" height="30" />
想用正则把他们替换成
有 style的 替换成<img src="<?=$url?>/images/styleno.jpg" width="30" height="30" />
没style 的 替换成<img src="<?=$path?>/images/styleno.jpg" width="30" height="30" />

*/

$content1 ='<img style src="<?=$url?>/images/styleno.jpg" width="30" height="30" />';
$content ='<img style src="/images/styleno.jpg" width="30" height="30" />';
$a='<img src="<?=$url?>/images/styleno.jpg" width="30" height="30" />';
echo preg_replace('/<imgs+styles+src=['"]?[^'"]*['"]?\s+.*\/>/i',$a,$content);

$content1 ='<img src="images/styleno.jpg" width="30" height="30" />';
$b='<img src="<?=$path?>/images/styleno.jpg" width="30" height="30" />';
echo preg_replace('/<img src=['"]?[^'"]*['"]?\s+.*\/>/i',$b,$content1);

本文章是一款利用了php正则表达式来过滤非本站的链接实例。
*/
php

 代码如下 复制代码
$neirong = preg_replace("/<a(?![^<>]*?[^<>]*?>).*?</a>/si","",$bbb);
echo $neirong;

 

方法二

 代码如下 复制代码

$str ='<li><a href="http://www.111cn.net/12345s" target="_blank"> 施华洛世奇!</a></li><li><a href=http://123.com/n.php?a=luxury& target="_blank"> f乔</a></li><li><a href="http://mb.111cn.net/" target="_blank"> f衣';

$match='/<li><ashref="?http://[w.]*123.com/[w]+.php?a=*[w&=]*"?s+target="_blank">(.*)</a></li>/isu';
preg_match_all($match,$str,$arr);
echo "<pre>";
print_r($arr[0]);
echo "</pre>";

下面提供两款关于ip正则表达式的实例,实例做了多个IP的地址的验证,同时把合法的ip地址给打印出来了。

//检查ip地址的正则表达式示例1。
 

 代码如下 复制代码

$arr_ip = array(
"127.0.0.1",
"218.206.10.123",
"192.221.515.0",
"123.0.0.0.1",
"-12.255.0.10",
"10.9c.132.69",
"255.10.10.255"
);

foreach ($arr_ip as $ip)
{
    if(validateip($ip))
    {
        echo "<b>$ip 是正确的ip地址</b>";
        echo "<br/><br/>";
    }
    else
    {
        echo "$ip 不是正确的ip地址";
        echo "<br/><br/>";
    }
}

function validateip($ip)
{
    $iparray = explode(".",$ip);
    for($i=0;$i<count($iparray);$i++)
    {
        if($iparray[$i]>255)
            return (0);
    }
    return ereg("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}",$ip);
}
 // 检查ip地址的正则表达式示例2。
 $arr_ip = array(
"127.0.0.1",
"218.206.10.123",
"192.221.515.0",
"123.0.0.0.1",
"-12.255.0.10",
"10.9c.132.69",
"255.10.10.255"
);

foreach ($arr_ip as $ip)
{
    if(validateip($ip))
    {
        echo "<b>$ip 是正确的ip地址</b>";
        echo "<br/><br/>";
    }
    else
    {
        echo "$ip 不是正确的ip地址";
        echo "<br/><br/>";
    }
}

function validateip($ip)
{
    $iparray = explode(".",$ip);
    for($i=0;$i<count($iparray);$i++)
    {
        if($iparray[$i]>255)
            return (0);
    }
    return ereg("^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$",$ip);
}

这里提供两种关于Email正则表达式与URL正则表达式验证的正则,非常的实用,关于email的正则表达式可以把内容中的所有邮箱地址获取出来,而url地址正则也一样,可以把内容中所有http开头url地址保存提取来哦。
 代码如下 复制代码

 $str_arr = array(
"mymail@111cn.net",
"my_mail@111cn.net",
"my-mail@111cn.net",
"my.mail@site.com.cn",
"mymail@site.com.ccoomm",
"mymail@site.cn",
"mymail@@@lsite.com",
"mymail@site",
"mymail@111cn.net",
"my2007@111cn.net",
"163mail_for-me777@111cn.net",
);

$patt_email = "/^[_a-za-z0-9-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/";

foreach ($str_arr as $str)
{
    echo "字符串'$str':是";
    if (preg_match($patt_email, $str))
    {
        echo "<b>合法的email格式</b>";
        echo "<br>";
        echo "<br>";
    }
    else
    {
        echo "不合法的email格式";
        echo "<br>";
        echo "<br>";
    }
}
 

// 17、url正则表达式。
 

 代码如下 复制代码

$str_arr = array(
"http://www.111cn.net",
"www.111cn.net",
"http://www.111cn.net/abc/123.html",
"//111cn.net",
":www.111cn.net"
);

$patt_url = "/^(http://)?[a-za-z0-9]+(.[a-za-z0-9]+)*.+$/";

foreach ($str_arr as $str)
{
    echo "字符串'$str':是";
    if (preg_match($patt_url, $str))
    {
        echo "<b>合法的url格式</b>";
        echo "<br>";
        echo "<br>";
    }
    else
    {
        echo "不合法的url格式";
        echo "<br>";
        echo "<br>";
    }
}

本教程主是讲三几点如下

获取格式化的日期和时间。
处理unix时间戳。
获取日期和时间的信息。
日期的计算。
验证日期的有效性。
*/
//获取格式化的日期和时间

 代码如下 复制代码

echo "<b>格式化当前时间</b><br/>";
echo date('y-m-j');
echo "<br/>";
echo "<br/>";

echo "今天是一年中的第".date('z')."天";
echo "<br/>";
echo "<br/>";

echo date('m 网页特效,y l');
echo "<br/>";
echo "<br/>";

echo "程序执行时间:".date('h:i:s');

//处理unix时间戳。

 代码如下 复制代码

echo "时间戳".mktime(0,0,0,12,31,2007)."对应的日期是:";
echo "<br/>";

echo date("m-d-y", mktime(0,0,0,12,31,2007));
echo "<hr>";
echo "<br/>";

$day = 1;
echo "时间戳".mktime(0,0,0,7,$day+38,2008)."对应的日期是:<br/>";
echo date("y-m-d", mktime(0,0,0,7,$day+38,2008));
echo "<hr>";

//获取日期和时间的信息。

 代码如下 复制代码

$time = mktime(20,0,0,8,8,2008);

echo "<b>日期:".date("y-m-d h:i:s",$time)."</b>";
echo "<br/>";

echo "<pre>";
echo "该日期相关信息如下:";
echo "<br/>";

$date = getdate($time);
print_r($date);

//日期的计算。

 代码如下 复制代码

$day = 1;
$month = 10;
$year = 1949;

$national_unix = mktime(0,0,0,$month,$day,$year);
$now_unix = time();
$national_time = $now_unix - $national_unix;

$national_day_year = floor($national_time/(365*24*60*60));
$national_day_day = floor($national_time/(24*60*60));

echo "www.111cn.net 2008已经<b> ".$national_day_year." </b>年";
echo "<hr>";

echo "2008已经<b> ".$national_day_day." </b>天"

//验证日期的有效性。

 代码如下 复制代码

if(checkdate(9,28,1980))
{
    echo "7,22,1978 : "."这是一个正确的日期格式";
}
else
{
    echo "这不是一个正确的日期格式";
}

echo "<br/>";
echo "<hr>";
echo "<br/>";

if(checkdate(9,99,1999))
{
    echo "这是一个正确的日期格式";
}
else
{
    echo "9,99,1999 : "."这不是一个正确的日期格式";
}

/*
上在这篇教程主要是讲了关于php日期时间的基本教程哦,对php初学者很有用的。
*/
?>

[!--infotagslink--]

相关文章

  • PHP正则表达式取双引号内的内容

    取双引号内的内容我们如果一个字符串中只有一个可以使用explode来获得,但如果有多个需要使用正则表达式来提取了,具体的例子如下。 写程序的时候总结一点经验,如何只...2016-11-25
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • php 验证只能输入汉字、英语、数字的正则表达式

    正则表达式是一门非常有用的并且进行模糊判断的一个功能了,我们下面来看通过正则来验证输入汉字、英语、数字,具体如下。 收藏了正则表达式。可以验证只能输入数...2016-11-25
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
  • PHP正则表达式匹配验证提取网址URL实例总结

    网址规则是可寻的,所以我们可以使用正则表达式来提取字符串中的url地址了,下面一起来看看小编整理的几个PHP正则表达式匹配验证提取网址URL实例. 匹配网址 URL 的...2016-11-25
  • 正则表达式中两个反斜杠的匹配规则详解

    这篇文章主要介绍了正则表达式中两个反斜杠的匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • JS中使用正则表达式g模式和非g模式的区别

    这篇文章给大家详细介绍了JS中使用正则表达式g模式和非g模式的区别,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-04-03
  • C#正则表达式使用方法示例

    这篇文章主要介绍了C#正则表达式使用方法,大家参考使用...2020-06-25
  • 常用C#正则表达式汇总介绍

    c#正则表达式,用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。...2020-06-25
  • JavaScript利用正则表达式替换字符串中的内容

    本文主要介绍了JavaScript利用正则表达式替换字符串中内容的具体实现方法,并做了简要注释,便于理解。具有一定的参考价值,需要的朋友可以看下...2017-01-09
  • 一文秒懂python正则表达式常用函数

    这篇文章主要介绍了python正则表达式常用函数及使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • Idea使用正则表达式批量替换字符串的方法

    这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-21
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • C# 中使用正则表达式匹配字符的含义

    正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...2020-06-25
  • Python验证的50个常见正则表达式

    这篇文章主要给大家介绍了关于利用Python验证的50个常见正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-11
  • C#编程自学之运算符和表达式

    这篇文章主要介绍了C#运算符和表达式,这是自学C#编程的第五篇,希望对大家的学习有所帮助。...2020-06-25
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
  • js用正则表达式筛选年月日的实例方法

    在本篇文章里小编给大家整理的是一篇关于js用正则表达式筛选年月日的实例方法,对此有兴趣的朋友们可以学习下。...2021-01-04
  • javascript 手机号码正则表达式验证函数 <font color=red>原创</font>

    随着手机号码段的不断增加,以前网上的手机号码验证函数都不能那么完美的支持了,这里脚本之家编辑特为大家准备的一个简单的正则与手机验证的函数分析。...2021-05-07