首頁  >  文章  >  後端開發  >  PHP替換字串函數實例解析

PHP替換字串函數實例解析

伊谢尔伦
伊谢尔伦原創
2017-04-15 09:06:342925瀏覽

透過字串的替換技術可以實現對指定字串中的指定字元進行替換。字串的替換技術可以透過一下的兩個函數實作: str_irplace()函數和substr_replace()函數。

str_irplace()函數

使用新的字串(子字串)取代原始字串中被指定的要替換的字串。

其語法格式如下:

str_irplace(search, replace, subject, count)

說明: 將所有在參數 subject中出現的參數subject 以參數 replace取代,參數 count 表示取代字串執行的次數。 str_irplace()函數是不區分大小寫的。

請參考  數 說    明
search 必要參數,指定需要尋找的字串
replace 必要參數,指定需要取代的值
#subject 必要參數,指定需要尋找的範圍
#count 可選參數,取得執行替換的次數

將文字指定的字串替換掉,然後在輸出替換後的結果,實例程式碼如下:

<?php
$str = "看国足打比赛就像单恋一个不爱你的人,Ta稍微给你一点好脸色,你就以为有戏了。";
$str1 = "**";
$str2 = "国足";
echo str_ireplace($str2,$str1,$str);    //输出替换后的字符串
?>

輸出結果為:看**打比賽就像單戀一個不愛你的人,Ta稍微給你一點好臉色,你就以為有戲了。

注意:該函數在執行替換的操作時是不區分大小寫的,如果需要對大小寫加以區分,可以使用str_replace()函數。

字串取代技術最常用的就是在搜尋引擎的關鍵字處理中,可以使用字串替換技術將搜尋到的字串的關鍵字取代顏色,如查詢關鍵字標紅功能,讓搜尋到的結果更方便使用者查看。

注意:查詢關鍵字標紅是指將查詢關鍵字以特殊的顏色、字號或字體進行標識,這樣可以使瀏覽者快速查詢到所需的關鍵字,方便瀏覽者從搜尋結果中尋找所需內容。查詢關鍵字標紅適用於模糊查詢。

下面透過一個具體的實例來介紹如何實作查詢關鍵字的標紅功能。

使用 str_irplace()函數取代查詢關鍵字,當顯示所查詢的相關資訊時,將輸出的關鍵字的字型替換為紅色。範例程式碼如下:

<?php
$content = "看国足打比赛就像单恋一个不爱你的人,Ta稍微给你一点好脸色,你就以为有戏了";
$str = "国足";
echo str_ireplace($str,"<font color=&#39;red&#39;>$str</font>",$content);    //替换字符串为红色字体
?>

輸出結果為:國足打球就像是單戀一個不愛你的人,Ta稍微給你一點好臉色,你就以為有戲了

注意:查詢關鍵字標紅功能在搜尋引擎中被廣泛的應用,希望朋友們透過實例學習,能夠舉一反三,從而開發出更靈活、便捷的程序。

substr_replace()函數

#對指定的字串中的部分字串進行替換。

其語法格式如下的形式:

substr_replace(string, replacement, start, length)

其參數說明如下:

參考   數 說    明
#string 指定需要操作的原始字串
replacement 指定替換後的新字串
start #指定替換字串的起始位置
length 可選參數,指定替換的字串長度
#

说明:start参数为正数表示起始位置从字符串开头开始;负数表示起始位置从字符串的结尾开始; 0表示起始位置字符串中的第一个字符。

length参数默认值是整个字符串。正数表示起始位置从字符串开头开始;负数表示起始位置从字符串的结尾开始;0表示插入而非替代。

注意: 如果start参数设置为负数,而参数length数值小于或者等于start参数,那么length值自动为0。

使用substr_replace()函数对指定字符串进行替换,示例如下所示:

<?php
$str = "用今日的努力工作,换明日的双倍回报!";
$replace = "十倍";                               //定义要替换的字符串
echo substr_replace($str,$replace,39,6);         //替换字符串
?>

输出结果为:用今日的努力工作,换明日的十倍回报!

说明:在上面的代码中,主要是用substr_replace()函数实现将字符串 “双倍” 替换为字符串 “十倍”。

以上是PHP替換字串函數實例解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn