Rumah > php教程 > php手册 > PHP正则替换preg

PHP正则替换preg

WBOY
Lepaskan: 2016-06-06 19:57:28
asal
972 orang telah melayarinya

有个问题,怎么把一个字符串中特定的字符串替换掉。举例:把字符串:abc fdab ertDe fda Abc fdd 中abc替换掉,其中abc不区分大小写,替换之后字符串为:fdab ertDe fda fdd 当时立马想到两种策略preg_replace正则替换,preg_split分割合并。哎哎,可当时没

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

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

    [php]

   

    $str = 'abc fdab ertDe fda Abc fdd ';

    $pat = '/abc/i';

    $rtn = preg_replace($pat, '', $str, -1);

    echo 'orig:', $str, '
';

    echo 'dest:', $rtn;

   

    $str = 'abc fdab ertDe fda Abc fdd ';

    $pat = '/abc/i';

    $rtn = preg_replace($pat, '', $str, -1);

    echo 'orig:', $str, '
';

    echo 'dest:', $rtn;  请点击preg_replace 查看函数的用法。再showshowpreg_split吧:

    [php]

   

    $str = 'abc fdab ertDe fda Abc fdd ';

    $pat = '/abc/i';

    $arr = preg_split($pat, $str);

    $rtn = implode('', $arr);

    echo 'orig:', $str, '
';

    echo 'dest:', $rtn;

   

    $str = 'abc fdab ertDe fda Abc fdd ';

    $pat = '/abc/i';

    $arr = preg_split($pat, $str);

    $rtn = implode('', $arr);

    echo 'orig:', $str, '
';

    echo 'dest:', $rtn;

    呵呵,这种方式虽然很笨,但也是种方式啊,不过归根结底还是正则的写法。有没有另外一种方式呢,幸亏手册在手,功夫不负有心人,马上有另外一种笨方法:

    [plain]

   

    $str = 'abc fdab ertDe fda Abc fdd ';

    $tran = array('abc' => '', 'Abc' => '');

    $rtn = strtr($str, $tran);

    echo 'orig:', $str, '
';

    echo 'dest:', $rtn;

   

    $str = 'abc fdab ertDe fda Abc fdd ';

    $tran = array('abc' => '', 'Abc' => '');

    $rtn = strtr($str, $tran);

    echo 'orig:', $str, '
';

    echo 'dest:', $rtn;

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

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

PHP正则替换preg

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan