首页> 基础笔记 >PHP基础学习 >PHP正则 PHP正则

PHP正则函数preg_replace学习基础

作者:小萝卜 2019-08-22 浏览 1063

简介preg_replace —执行一个正则表达式的搜索和替换mixed preg_replace ( mixed $pattern , mixed $replacement,mixed $subject [,int $limit = -1])搜索subject中匹配pattern的部分, 以replacement进行替换. 

preg_replace —执行一个正则表达式的搜索和替换

mixed preg_replace ( mixed $pattern , mixed $replacement,mixed $subject [,int $limit = -1])

搜索subject中匹配pattern的部分, 以replacement进行替换. 

实例1:
 <?php
    //可以匹配所有HTML标记的开始和结束的正则表达式
    $pattern = "/<[\/\!]*?[^<>]*?>/is";             
    
    //声明一个带有多个HTML标记的文本
    $text = "这个文本中有<b>粗体</b>和<u>带有下画线</u>以及<i>斜体</i>
             还有<font color='red' size='7'>带有颜色和字体大小</font>的标记";         
    //将所有HTML标记替换为空,即删除所有HTML标记
    echo preg_replace($pattern, "", $text);     
    
    //通过第四个参数传入数字2,替换前两个HTML标记
    echo preg_replace($pattern, "", $text, 2);  
实例2:
<?php
    $pattern = "/(\d{2})\/(\d{2})\/(\d{4})/"; //日期格式的正则表达式
    
   $text="今年国庆节放假日期为10/01/2012到10/07/2012共7天。"; //带有两个日期格式的字串
    
    echo preg_replace($pattern, "\\3-\\1-\\2", $text); //将日期替换为以“-”分隔的格式
   
    echo preg_replace($pattern, "\${3}-\${1}-\${2}",$text); //将“\\1”改为“\${1}”的形式
实例3:
<?php
    //可以匹配所有HTML标记的开始和结束的正则表达式
    $pattern = "/(<\/?)(\w+)([^>]*>)/e"; 
    
    //声明一个带有多个HTML标记的文本
    $text = "这个文本中有<b>粗体</b>和<u>带有下画线</u>以及<i>斜体</i>还
             有<font color='red' size='7'>带有颜色和字体大小</font>的标记";    
    
    //将所有HTML的小写标记替换为大写        
    echo preg_replace($pattern, "'\\1'.strtoupper('\\2').'\\3'", $text); 

实例4:

<?php
$s = "13,45;2,3;4:5";
//将字串中的分割符都替换成空格
echo  preg_replace("/[^0-9]/"," ",$s);
//13 45 2 3 4 5
echo "<hr/>";

//重复模式单元: \\1 \\2

$str = "<b>aaa</b><b>bb>b</b><b>ccc</b>";
//要求将上面字串中的b标签替换成i标签

//echo preg_replace("/<b>(.*?)<\/b>/","<i>\\1</i>",$str);
echo preg_replace("/<b>(.*?)<\/b>/",'<i>$1</i>',$str);


echo "<hr/>";

$s = "08/24/2015";
//将“月/日/年”转成 “年-月-日”格式
echo preg_replace("/(\d{2})\/(\d{2})\/(\d{4})/",'\\3-\\1-\\2',$s);
echo preg_replace("/(\d{2})\/(\d{2})\/(\d{4})/",'$3-$1-$2',$s);
 

很赞哦! (0)

文章评论

    高端网站建设