這是我的字串:
Hello world Hello How are You Hello world
我想,以取代過去的Hello world以HW
結果:
Hello world Hello How are You HW
str_replace替換所有Hello world但我想從末尾替換(如果存在)
uj5u.com熱心網友回復:
我猜您想為此使用單個函式,但它不存在。您可以構建自己的函式,如下所示:
<?php
function str_replace_last($search, $replace, $subject)
{
$pos = strrpos($search,$replace);
if ($pos === FALSE) return search;
return substr($search, 0, $pos) . $subject .
substr($search, $pos strlen($replace));
}
echo str_replace_last('Hello world Hello How are You Hello world',
'Hello world', 'HW');
這將回傳:
Hello world Hello How are You HW
請參閱:strrpos()
請注意,此函式不像原始函式那樣處理陣列引數str_replace()。
uj5u.com熱心網友回復:
如果你愿意,你可以使用 preg_replace()
使用模式 Hello world$
<?php
$re = '/Hello world$/m';
$str = 'Hello world Hello How are You Hello world';
echo preg_replace($re, 'HW', $str);
?>
如果在一行中完成,這將需要最少的代碼
preg_replace('/Hello world$/m','HW','Hello world Hello How are You Hello world');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/370104.html
標籤:php
