php str_replace與preg_replace用法區別

來源:互聯網
上載者:User

str_replace() 函數使用一個字串替換字串中的另一些字元。

簡單替換

<?php教程
echo str_replace("world","john","hello world!");
?>

替換資料

<?php
echo str_replace("world","john","hello world!");
?>

利用Regex來替換

文法:stringobj.replace(rgexp, replacetext)
用str.replace("|",",") 只會替換第一個匹配的字元, str.replace(/|/g,",")則可以替換掉全部匹配的字元(g為全域標誌)。


文法
preg_replace(find,replace,string,count)

preg_replace -- 執行Regex的搜尋和替換
說明
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])


在 subject 中搜尋 pattern 模式的匹配項並替換為 replacement。如果指定了 limit,則僅替換 limit 個匹配,如果省略 limit 或者其值為 -1,則所有的匹配項都會被替換。

執行個體

<?php
$string = "april 15, 2003";
$pattern = "/(/w+) (/d+), (/d+)/i";
$replacement = "/${1}1,/$3";
print preg_replace($pattern, $replacement, $string);

/* output
   ======

april1,2003

*/
?>

替換數個值

<?php
$patterns = array ("/(19|20)(/d{2})-(/d{1,2})-(/d{1,2})/",
                   "/^/s*{(/w+)}/s*=/");
$replace = array ("//3///4///1//2", "$//1 =");
print preg_replace ($patterns, $replace, "{startdate} = 1999-5-27");
?>

本例將輸出:

$startdate = 5/27/1999
 


例子 4. 使用 /e 修正符

<?php
preg_replace ("/(<//?)(/w+)([^>]*>)/e",
              "'//1'.strtoupper('//2').'//3'",
              $html_body);
?>

這將使輸入字串中的所有 html 標記變成大寫
 

區別preg_replace函數主要用於正則比較方便而str_replace替換字元效率更好,但他們都用於字元替換的函數。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.