php正则字符串替换
⑴ php正则替换怎么写
$str = 'fsda[123d]dfa[1[3]2]sdf';
$str = preg_replace('/\[(.*?)\]/','($1)',$str);
echo $str;
/\[(.*?)\]/ 这个是正则表达式。
$0是整个匹配出来的字符串,$1是第一个圆括号里面匹配出来的,所以我们只取圆括号里面匹配到的字符串,再在两边加上圆括号。
不过这个不能对付有嵌套的方括号。
⑵ php正则表达怎么把一个字符串中的所有空格都转化为下划线
使用正则表达式进行替换的函数是preg_replace,此函数使用的一般格式是:
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
典型的使用情况是带三个参数,第一个为正则表达式表示的查找内容,第二个参数为替换后的内容,对三个参数是字符串。
你的问题把所有空格转换为下划线,写出这个语句有几个细节,如果是只替换空格(不包含制表、回车等其它空白),而且一个空格替换为一个下划线、两个空格替换为两个下划线,那么语句如下(假设字符串变量是$str):
$str=preg_replace('/ /','_',$str);
上面语句中的'/ /'为正则表达式,/为定界符(可以用其它),中间的一个空格表示查找的内容就是一个空格。
如果多个空格替换为一个_,那么需要在空格后面使用一个+,表示匹配1个或者多个空格,语句是:
$str=preg_replace('/ +/','_',$str);
如果是对各类空白字符(空格、制表、回车等)进行替换,那么可以使用\s代替空格,语句是:
$str=preg_replace('/\s+/','_',$str);
上面使用了+表示多个空白(例如两个空格、或者一个空格与回车)替换为一个下划线符号。
⑶ PHP正则表达式如何替换像这样的案例的
这个用正则表达式替换是比较简单的,因为有分隔符/,所以把分隔符后面的都替换掉就行了.
<?php
$str="龙门飞甲/龙门飞甲电视剧版";
$regex="~/.*?$~";
echo preg_replace($regex,"",$str);
?>
⑷ php正则如何匹配替换这样的代码
下面是代码,不懂的加我的QQ245065587
<?php
$str = ',1。,2。,3。'; //要进行正则替换的字符串
$regular = "/,(.*)。,(.*)。,(.*)。/i"; //利用正则表达式反向引用取得相关数
$replacecode = "<a href=\"xx.com/$1\">$1</a> <a href=\"xx.com/$2\">$2</a> <a href=\"xx.com/$3\">$3</a>"; //返回的代码
echo preg_replace($regular, $replacecode, $str); //处理替换,并输出
?>
⑸ php中 正则表达式替换问题
查找
[^dw]
替换成