substr_replace與str_replace有一點像就是直接把字符串替換一部份了,下面小編來給各位同學介紹一下 操作方法。
substr_replace() 函數把字符串的一部分替換為另一個字符串。
用法
substr_replace(string,replacement,start,length)
注意當字符串包含中文時,不經過特殊處理會出現亂碼。
代碼如下 復制代碼<?php
$string1="123456789";
echo substr_replace($string1,'###',0);
//###
echo substr_replace($string1,'###',5);
//12345###
echo substr_replace($string1,'###',0,0);
//###123456789
echo substr_replace($string1,'###',8,-2);
//12345678###9
echo substr_replace($string1,'###',-6,-1);
//123###9
echo "n";
echo substr_replace($string1,'###',-1);
//123###9
echo "n";
echo substr_replace($string1,'###',1,-1);
//1###9
echo substr_replace($string1,'###',1,1);
//1###3456789
?>
例2
代碼如下 復制代碼 <?php
Original: ABCDEFGH:/MNRPQR/
bob
bob
bobABCDEFGH:/MNRPQR/
ABCDEFGH:/bob/
ABCDEFGH:/bob/
ABCDEFGH://
將過長的字符串用省略號代替一部分
下面的程序可以將過長的字符串保留首尾,中間用省略號代替。
代碼如下 復制代碼 <?php
程序運行結果:
abcdefghijk...456789z.jpg
Program List:將多出的字符用省略號代替
代碼如下 復制代碼
<?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 nowamagic, welcome to nowamagic, welcome to nowamagic';
$result = truncate($text, 35);
echo $result;
?>
好了你大概會知道此函數的作用了。