字符替换函数,PHP字符串正则替换函数preg_repla

作者: 关于计算机  发布:2019-09-26

PHP字符串中替换钦定字符串有八个函数

语法: mixed preg_replace(mixed pattern, mixed replacement, mixed subject);

substr_replace():把字符串的一部分替换为另二个字符串
str_replace():使用三个字符串替换字符串中的另一对字符

再次来到值: 混合类型资料

substr_replace()

函数连串: 资料管理

substr_replace() 函数用于把字符串的一部分替换为另二个字符串,再次来到混合类型。

剧情表达: 本函数以 pattern 的平整来深入分析比对字符串 subject,欲替代它的字符串为参数 replacement。再次来到值为混合类型资料,为代表后的字符串结果。

 代码如下

  1. preg_replace()

<?php
echo substr_replace('abcdef', '###', 1); //输出 a###
echo substr_replace('abcdef', '###', 1, 2); //输出 a###def
echo substr_replace('abcdef', '###', -3, 2); //输出 abc###ef
echo substr_replace('abcdef', '###', 1, -2); //输出 a###ef
 
?>

$msg = preg_replace("/<style>.+</style>/is", "", $msg); -----删除<style></style>和中级的部分
$msg = preg_replace("/<[^>]+>/", "", $msg); -----是去除<>和高级中学级的剧情

str_replace()

i (PCRE_CASELESS)
若果设定此校订符,情势中的字符将同期相配大小写字母。
s (PCRE_DOTALL)
假定设定了此校勘符,方式中的圆点元字符(.)相配全部的字符,包罗换行符。未有此设定来讲,则不包含换行符。那和 Perl 的 /s 勘误符是等效的。排除字符类例如 [^a] 总是相称换行符的,无论是还是不是设定了此核查符。

 
str_replace() 函数使用一个字符串替换字符串中的另一对字符,重回混合类型。

  1. ereg()与eregi()

 代码如下

注: preg_match() 函数常常是比 ereg() 更加快的代替方案

<?php
echo str_replace("world","earth","Hello world!"); //输出 Hello earth!
//替换多少个,且首个参数为空字符
echo str_replace("o","","Hello world!"); //输出 Hell wrld!
//使用数组
$arr = array("e", "o");
$arr2 = array("x", "y");
echo str_replace($arr, $arr2, "Hello World of PHP", $i); //输出 Hxlly Wyrld yf PHP
echo $i; //输出4
 
?>

eregi("<body([^>]+)>(.+)</body>",$data,$b)----察看$data中是还是不是有body标签。假若有,把参数赋值$b[0],中间有些赋值$b[1]。

补充:第一种办法:

bool ereg ( string pattern, string string [, array regs] )

 代码如下

int eregi ( string pattern, string string, array [regs] )

<?php
header("content-type:text/html;charset=utf-8");
$pattern = preg_quote('天仙');//特殊字符自动抬高转义符\
$str = '宋爱妻真是美若天仙';
echo preg_replace("/($pattern)/","<font color='blue'>$1</font>",$str);
?>

eregi()和 ereg() 类似,用法也长期以来。差别之处在于ereg()有分别轻重缓急写,eregi()与大小写非亲非故

1. preg_replace()

 

 代码如下

<?php教程
//preg_replace()和ereg_replace()函数的应用的相比较
// -------preg_replace()--------------------------
//1.进展字符串的寻觅的交替
         $str         = "daoyu shi ge hao hai zi 5555";
         $pattern     = "/s/";           //借使将变量定义为$pattern_1会出错
         $str               = preg_replace($pattern,'-',$str);
         echo $str."<br>";

$msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的一些
$msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中级的故事情节

//2.对字符串的逆向引用
//方法一
         $pat         = "/(w+)-(w+)-(w+)-(w+)-(w+)-(w+)-(d+)/i";
         $str         =preg_replace($pat,"$1",$str);
         echo $str."<br>";

2.ereg()与eregi()

//注意:假如是下边这种样式你会开掘相配的是:zi- 所以可以如此以为在有次数的{6}的事态下,他($1)相配的是终极一回
         $pat         = "/((w+)-){6}(d+)/i";
         $str         =preg_replace($pat,"$1",$str);
         echo $str."<br>";

注: preg_match() 函数日常是比 ereg() 越来越快的取代方案

//方法二
         $str         = "daoyu-shi-ge-hao-hai-zi-5555";
         $pat         = "/(w+)-(w+)-(w+)-(w+)-(w+)-(w+)-(d+)/i";       
         $str         =preg_replace($pat,"1",$str);
         echo $str."<br>";

 代码如下

//注意:当正则写成$pat= "/((w+)-){6}(d+)/i";时和地点的情状同样

eregi("<body([^>]+)>(.+)</body>",$data,$b)----察看$data中是还是不是有body标签。假使有,把参数赋值$b[0],中间部分赋值$b[1]。

在意,在php5.3及随后版本不帮忙ereg()与eregi() 函数了哦,所以我们最棒使用preg_replace函数来替换了。

本文由金沙澳门官网送注册58发布于关于计算机,转载请注明出处:字符替换函数,PHP字符串正则替换函数preg_repla

关键词:

上一篇:表单验证不为空实例
下一篇:没有了