PHP正則替換preg_replace_PHP教程

來源:互聯網
上載者:User
有個問題,怎麼把一個字串中特定的字串替換掉。舉例:把字串: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來規避正則,偏離了別人的目的,也不是種好方法!

這次,關於正則的問題是該好好反思,雖然正則學了很多,也寫了些。可總是用的時候看手冊,不停地重試重寫,不能瞭然於胸。心中對其有些怯意,以後應該多寫多練,真正做到熟悉這項基本技能。

http://www.bkjia.com/PHPjc/477587.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477587.htmlTechArticle有個問題,怎麼把一個字串中特定的字串替換掉。舉例:把字串:abc fdab ertDe fda Abc fdd 中abc替換掉,其中abc不區分大小寫,替換之後...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.