php substr_replace(,PHP substr_replace 函式

PHP substr_replace 函式可以用來將字串中的某的部分,用其他的字串替換掉,設計師可以設定要替換的新字串、要從哪個地方開始算起以及要替換的字串長度,在 PHP 4.3.3 版本開始,substr_replace 函式也開始支援 Array 的陣列元素替換。請注意,substr_replace 函式是在副本中進行字串替換,處理完成後返回一個字串結果,如果處理的是陣列,則反回一個陣列。

PHP substr_replace 基本語法

substr_replace ( $string , $replacement , $start , $length )PHP substr_replace 函式共有 4 個參數,第一個參數 $string 為原始字串或原始陣列,第二個參數 $replacement 是要替換的字串內容,第三個參數 $start 是要替換的字串起算位置,這個參數可以為正整數或負整數,當 $strat 為正整數,替換的位置將從 $string 的第 $start 位置開始,如果 $start 為負整數,替換則從 $string 的倒數第 $start 的位置開始算。最後一個參數 $length 是要替換的字串長度,選擇項目,不一定要使用,如果是正整數,就是代表要取代掉的字串長度,如果是負整數,則代表替代字串尾端距離原始字串 $string 尾端的字元數,如果為填寫,則預設代表 strlen($string),即為原始字串的長度,如果寫 0,代表替代字串 $replacement 將直接插入到 $start 設定的位置。

PHP substr_replace 範例一、字串的替換

$MyString = 'ABCDEF';

// 用 ZZZ 取代原始字串

echo substr_replace($MyString, 'ZZZ', 0).'
';

echo substr_replace($MyString, 'ZZZ', 0, strlen($MyString)).'
';

// 將 ZZZ 插入到原始字串開頭處

echo substr_replace($MyString, 'ZZZ', 0, 0).'
';

// 用 ZZZ 取代原始字串的字母 E

echo substr_replace($MyString, 'ZZZ', 3, -1).'
';

echo substr_replace($MyString, 'ZZZ', -3, -1).'
';

// 將原始字串的字母 D 用空值取代

echo substr_replace($MyString, '', 3, 1);

?>範例輸出結果

ZZZ

ZZZ

ZZZABCDEF

ABCZZZF

ABCZZZF

ABCEF只要掌握住 $start 與 $length 這兩個參數的用法,幾乎就能掌握 PHP substr_replace 函式。

PHP substr_replace 範例二、陣列的替換

$MyArray = array('A:ZZZ','B:ZZZ','C:ZZZ');

// 用 YYY 取代原始陣列中的 ZZZ

print_r(substr_replace($MyArray,'YYY',2,3));

// 用對應的陣列元素取代原始陣列元素

$replace = array('AAA','BBB','CCC');

print_r(substr_replace($MyArray, $replace,2,3));

// 用陣列的值控制原始陣列元素被取代的字串長度

$length = array(1, 2, 3);

print_r(substr_replace($MyArray,$replace,2,$length));

?>範例輸出結果

92144e2a7aacbeae5cd3c81c6fbf5f6c.gifPHP substr_replace 函式在陣列中使用的變化相當多,也是設計師常用來替代陣列元素的一個函式。

延伸閱讀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP的内置函数 `substr_replace()` 用于替换字符串的一部分。它的参数如下: 1. `string $string`:原始字符串。 2. `mixed $replacement`:要替换的内容。可以是一个字符串或字符串数组,用于替换原始字符串中指定位置的字符。 3. `int $start`:起始位置索引,表示从哪个位置开始替换。如果是正数,则从字符串的左侧开始计数;如果是负数,则从字符串的右侧开始计数。 4. `int|null $length`:可选参数,表示要替换的长度。如果指定了长度,则替换从起始位置开始指定长度的字符。如果未指定长度,则会替换从起始位置到字符串末尾的所有字符。 5. `string|null $encoding`:可选参数,表示字符串的编码。默认为 `null`,表示使用内部编码。 函数返回一个新的字符串,其中被替换的部分已经被指定的内容替代。 下面是一些示例: ```php $str = "Hello, world!"; // 将字符串中的 "world" 替换为 "everyone" echo substr_replace($str, "everyone", 7, 5); // 输出: Hello, everyone! // 将字符串中索引位置2开始的3个字符替换为 "ABC" echo substr_replace($str, "ABC", 2, 3); // 输出: HeABC, world! // 将字符串中索引位置-6开始到末尾的字符替换为空字符串 echo substr_replace($str, "", -6); // 输出: Hello, // 指定字符串编码为UTF-8 echo substr_replace($str, "everyone", 7, 5, 'UTF-8'); // 输出: Hello, everyone! ``` 请注意,如果使用多字节字符编码(如UTF-8),需要确保字符串函数能正确处理多字节字符。在这种情况下,可以使用 `mb_substr_replace()` 函数来替代 `substr_replace()`,以确保正确处理多字节字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值