php函式str replace替換一次字串

2021-08-27 10:32:27 字數 1086 閱讀 2019

在php裡strtr,strreplace等函式都可以用來替換,不過他們每次替換的時候都是全部替換,舉個例子:

"abcabbc",這個字串如果使用上邊的函式來把其中的b替換掉,那麼他會全部替換掉,但是如果你想只替換乙個或兩個怎麼辦呢?看下邊的解決方法:

這是個比較有點意思的問題,正好之前也做過類似的處理,當時我是直接利用preg_replace實現的。

. **如下:

<?php

function str_replace_once($needle, $replace, $haystack) {

// looks for the first occurence of $needle in $haystack

// and replaces it with $replace.

$pos = strpos($haystack, $needle);

if ($pos === false) {

return $haystack;

return substr_replace($haystack, $replace, $pos, strlen($needle));

str_replace_limit

還是利用preg_replace,只不過它的引數更象preg_replace了,而且對某些特殊字元做了轉義處理**,通用性更好。

. **如下:

<?

function str_replace_limit($search, $replace, $subject, $limit=-1) {

// constructing mask(s)...

if (is_array($search)) {

foreach ($search as $k=>$v) {

$search[$k] = '`' . preg_quote($search[$k],'`') . '`';

else {

$search = '`' . preg_quote($search,'`') . '`';

// replacement

return preg_replace($search, $replace, $subject, $limit);

PHP中str replace函式的詳解

在實際的程式開發中,執行字串替換操作是一件非常經常的事,對str replace函式的實用也會非常頻繁。這段時間在看 php和mysql web開發 一書看到str replace講解,一段小提示寫到 可以為str replace的三個都使用陣列傳入,但講解比較簡單,於是決定自己的試驗一下該函式在各...

PHP中str replace函式的詳解

在實際的程式開發中,執行字串替換操作是一件非常經常的事,對str replace函式的實用也會非常頻繁。這段時間在看 php和mysql web開發 一書看到str replace講解,一段小提示寫到 可以為str replace的三個都使用陣列傳入,但講解比較簡單,於是決定自己的試驗一下該函式在各...

str replace函式詳解

在開發過程中,字串的操作是很頻繁的,這幾天有看php手冊中講解str replace函式的講解,不是很明白,特作如下筆記,以作備忘。函式原型 mixed str replace mixed search mixed replace mixed subject int count 引數說明 searc...