substr_replace() 函數把字符串的一部分替換為另一個字符串。
語法:substr_replace(string,replacement,start,length)
如果 start 是負數且 length 小於等於 start,則 length 為 0。
<?php $var = 'ABCDEFGH:/MNRPQR/'; echo "Original: $var<hr />\n"; /* These two examples replace all of $var with 'bob'. */ echo substr_replace($var, 'bob', 0) . "<br />\n"; echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n"; /* Insert 'bob' right at the beginning of $var. */ echo substr_replace($var, 'bob', 0, 0) . "<br />\n"; /* These next two replace 'MNRPQR' in $var with 'bob'. */ echo substr_replace($var, 'bob', 10, -1) . "<br />\n"; echo substr_replace($var, 'bob', -7, -1) . "<br />\n"; /* Delete 'MNRPQR' from $var. */ echo substr_replace($var, '', 10, -1) . "<br />\n"; ?>
程序運行結果:
Original: ABCDEFGH:/MNRPQR/ bob bob bobABCDEFGH:/MNRPQR/ ABCDEFGH:/bob/ ABCDEFGH:/bob/ ABCDEFGH://
下面的程序可以將過長的字符串保留首尾,中間用省略號代替。
<?php
$longString = 'abcdefghijklmnopqrstuvwxyz0123456789z.jpg';
$separator = '...';
$separatorlength = strlen($separator) ;
// 需要保留的字符串
$maxlength = 25 - $separatorlength;
// 從一半的長度開始
$start = $maxlength / 2 ;
// 計算偏移量
$trunc = strlen($longString) - $maxlength;
echo substr_replace($longString, $separator, $start, $trunc);
//prints "abcdefghij...56789z.jpg"
?>
程序運行結果:
abcdefghijk...456789z.jpg
<?php
function truncate($text,$numb)
{
$text = html_entity_decode($text, ENT_QUOTES);
if (strlen($text) > $numb)
{
$text = substr($text, 0, $numb);
$text = substr($text,0,strrpos($text," "));
//This strips the full stop:
if ((substr($text, -1)) == ".")
{
$text = substr($text,0,(strrpos($text,".")));
}
$etc = "...";
$text = $text.$etc;
}
$text = htmlentities($text, ENT_QUOTES);
return $text;
}
//Call function
$text = 'welcome to bkjia, welcome to bkjia, welcome to bkjia';
$result = truncate($text, 35);
echo $result;
?>
程序運行結果:
welcome to bkjia, welcome to...
<?php $price = "163000"; $price = substr_replace($price, ',', -3, 0); echo $price; ?>
程序運行結果:
163,000