php如何將指定字串替換?

2020-07-16 10:06:19

php將指定字串替換的方法:1、【strtr】為轉換指定字元,程式碼為【string strtr( string $str ,$replace_pairs )】;2、【str_replace()】函數以其他字元替換字串中的一些字元。

php將指定字串替換的方法:

在PHP中,有兩個函數可以實現字串替換,strtr()str_repalce()函數。

一、首先我們簡單了解下strtr()函數的定義及語法。

strtr:轉換指定字元。

兩個語法:

第一種語法:

string strtr( string $str, string $from, string $to)

第一個參數列示待轉換的字串。第二個參數列示字串中與將要被轉換的目的字元 to 相對應的源字元。第三個參數列示字串中與將要被轉換的字元 from 相對應的目的字元。

第二種語法:

string strtr( string $str , array $replace_pairs )

第一個參數列示待轉換的字串。第二個參數列示以陣列鍵值形式替換指定字串。

下面我們就結合兩個簡單的程式碼範例為大家詳細介紹其中最為常用的strtr()函數用法及使用技巧。

PHP中strtr函數替換字串範例一:

<?php
$str = "PHP中文網";
echo strtr($str, 'P', 'A') . '<br>';
echo strtr($str, 'PP', 'z1') . '<br>';
echo strtr($str, 'P', ' ') . '<br>';
echo strtr($str, 'PH', '12') . '<br>';
echo "<hr>";
?>

通過瀏覽器存取,結果如下圖:

10b3b9c9f2c8303892d401911bf9bc4.png

大家可以結合程式碼和返回值來了解strtr函數這種語法替換字串的規則。

這裡有的朋友可能對第二行「PP」替換「z1」的結果有些疑惑,這是因為如果要轉換兩個相同的目的字元,那麼是以最後一個字元的值為標準。由於這裡最後一個「P」對應的是「1」,所以替換結果就從「PHP中文網」轉換為「....中文網」。

第三行顯示則是替換空格符的結果,也是非常容易理解的。其餘情況替換對應的字元即可。

PHP中strtr函數替換字串範例二:

<?php
$str = "PHP中文網";
echo strtr($str, array("中" => '')) . '<br>';
echo strtr($str, array("中" => '.', "文網" => "cn")) . '<br>';
echo "<hr>";
?>

通過瀏覽器存取,結果如下圖:

c5ce517079af09c9f48eafa0c3eab38.png

如圖使用PHP中strtr函數也可以實現中文字串替換。

本篇文章就是關於PHP替換指定字串的具體方法介紹,使用strtr函數不僅可以實現多個字串替換還能實現中文字串替換等。

二、str_replace()函數以其他字元替換字串中的一些字元(區分大小寫)。

該函數必須遵循下列規則:

  • 如果搜尋的字串是陣列,那麼它將返回陣列。

  • 如果搜尋的字串是陣列,那麼它將對陣列中的每個元素進行查詢和替換。

  • 如果同時需要對陣列進行查詢和替換,並且需要執行替換的元素少於查詢到的元素的數量,那麼多餘元素將用空字串進行替換

  • 如果查詢的是陣列,而替換的是字串,那麼替代字串將對所有查詢到的值起作用。

注釋:該函數區分大小寫。請使用str_ireplace()函數執行不區分大小寫的搜尋。

注釋:該函數是二進位制安全的。

<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "替換數:$i";
?>

f5bb537401ca464ad6db8cbaa6af203.png

<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>

0393b02063533facc60caaeb9a19131.png

以上就是php如何將指定字串替換?的詳細內容,更多請關注TW511.COM其它相關文章!