欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

str_replace只替換一次字符串的方法_PHP教程

編輯Tag賺U幣
教程Tag:str_replace添加

推薦:apache和php之間協(xié)同工作的配置經(jīng)驗(yàn)分享
閑暇之時(shí)也會對PHP知識做一些研究與大家共享,首先工欲善其事,必先利其器,可能比喻不是很恰當(dāng),php也需要一系列的環(huán)境配置,以下是我配置php的一些手稿,經(jīng)測試已成功運(yùn)行了

我們都知道,在PHP里Strtr,strreplace等函數(shù)都可以用來替換,不過他們每次替換的時(shí)候都是全部替換,舉個例子:
"abcabbc",這個字符串如果使用上邊的函數(shù)來把其中的b替換掉,那么他會全部替換掉,但是如果你想只替換一個或兩個怎么辦呢?看下邊的解決方法:
這是個比較有點(diǎn)意思的問題,正好之前也做過類似的處理,當(dāng)時(shí)我是直接利用preg_replace實(shí)現(xiàn)的。

mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
在 subject 中搜索 pattern 模式的匹配項(xiàng)并替換為 replacement。如果指定了 limit,則僅替換 limit 個匹配,如果省略 limit 或者其值為 -1,則所有的匹配項(xiàng)都會被替換。
因?yàn)閜reg_replace的第四個參數(shù)可以實(shí)現(xiàn)替換次數(shù)的限制,所以這個問題這樣處理很方便。但是在查看php.net上關(guān)于str_replace的函數(shù)評論后,從中居然也可以挑出幾個有代表性的函數(shù)來。

str_replace_once
思路首先是找到待替換的關(guān)鍵詞的位置,然后利用substr_replace函數(shù)直接替換之。

復(fù)制代碼 代碼如下:m.dounai2.com

<?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,只不過它的參數(shù)更象preg_replace了,而且對某些特殊字符做了轉(zhuǎn)義處理,通用性更好。

復(fù)制代碼 代碼如下:m.dounai2.com

<?

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);

}

?>

分享:phpmyadmin顯示utf8_general_ci中文亂碼的問題終級篇
自己寫PHP也有一年多了,然后編碼問題卻老是沒有得到好的解決,自己的情況是這樣的,網(wǎng)頁顯示完全正常,在phpmyadmin數(shù)據(jù)庫顯示中文亂碼,不管是簡體還是繁體,只要是中文都是亂碼

來源:模板無憂//所屬分類:PHP教程/更新時(shí)間:2013-04-22
相關(guān)PHP教程