首页> 基础笔记 >PHP基础学习 >PHP正则 PHP正则
PHP正则函数preg_replace学习基础
作者:小萝卜 2019-08-22 【 PHP 正则 】 浏览 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)