PHP正则替换preg_replace

作者:盐城市天行软件有限公司  来源:www.szgjp.com未知  发布时间:2017-09-08 22:06:20
PHP正则替换preg_replace

有个问题,怎么把一个字符串中特定的字符串替换掉。举例:把字符串:abc fdab ertDe fda Abc fdd 中abc替换掉,其中abc不区分大小写,替换之后字符串为:fdab ertDe fda fdd

当时立马想到两种策略preg_replace正则替换,preg_split分割合并。哎哎,可当时没有个手册在手,总是没有勇气尝试,站群软件,这里show下代码吧,看来以后真要留心了。上代码吧:


[php]
<?php
$str = 'abc fdab ertDe fda Abc fdd ';
$pat = '/abc/i';
$rtn = preg_replace($pat, '', $str, -1);
echo 'orig:', $str, '<br/>';
echo 'dest:', $rtn;

<?php
$str = 'abc fdab ertDe fda Abc fdd ';
$pat = '/abc/i';
$rtn = preg_replace($pat, '', $str, -1);
echo 'orig:', $str, '<br/>';
echo 'dest:', $rtn; 请点击preg_replace 查看函数的用法。再showshowpreg_split吧:


[php]
<?php
$str = 'abc fdab ertDe fda Abc fdd ';
$pat = '/abc/i';
$arr = preg_split($pat, $str);
$rtn = implode('', $arr);
echo 'orig:', $str, '<br/>';
echo 'dest:', $rtn;

<?php
$str = 'abc fdab ertDe fda Abc fdd ';
$pat = '/abc/i';
$arr = preg_split($pat, $str);
$rtn = implode('', $arr);
echo 'orig:', $str, '<br/>';
echo 'dest:', $rtn;
呵呵,这种方式虽然很笨,但也是种方式啊,不过归根结底还是正则的写法。有没有另外一种方式呢,幸亏手册在手,功夫不负有心人,马上有另外一种笨方法:


[plain]
<?php
$str = 'abc fdab ertDe fda Abc fdd ';
$tran = array('abc' => '', 'Abc' => '');
$rtn = strtr($str, $tran);
echo 'orig:', $str, '<br/>';
echo 'dest:', $rtn;

<?php
$str = 'abc fdab ertDe fda Abc fdd ';
$tran = array('abc' => '', 'Abc' => '');
$rtn = strtr($str, $tran);
echo 'orig:', $str, '<br/>';
echo 'dest:', $rtn;

这种方式有些取巧,主要使用strtr来规避正则,偏离了别人的目的,也不是种好方法!

这次,关于正则的问题是该好好反思,采集软件,虽然正则学了很多,也写了些。可总是用的时候看手册,不停地重试重写,不能了然于胸。心中对其有些怯意,以后应该多写多练,真正做到熟悉这项基本技能。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆门SEO http://jingmen.raoyu.net


上一篇:Python IDLE reload(sys)后无法正常执行命令的原因
下一篇:最后一页