首頁 >php教程 >php手册 >php substr_replace替换字符串一些实例

php substr_replace替换字符串一些实例

WBOY
WBOY原創
2016-06-13 09:51:57997瀏覽

substr_replace与str_replace有一点像就是直接把字符串替换一部份了,下面小编来给各位同学介绍一下 操作方法。

substr_replace() 函数把字符串的一部分替换为另一个字符串。

用法

substr_replace(string,replacement,start,length)

注意当字符串包含中文时,不经过特殊处理会出现乱码。

 代码如下 复制代码

$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

   

 代码如下 复制代码
 $var = 'ABCDEFGH:/MNRPQR/';
 echo "Original: $var
n";
 /* These two examples replace all of $var with 'bob'. */
 echo substr_replace($var, 'bob', 0) . "
n";
 echo substr_replace($var, 'bob', 0, strlen($var)) . "
n";
 /* Insert 'bob' right at the beginning of $var. */
 echo substr_replace($var, 'bob', 0, 0) . "
n";
 /* These next two replace 'MNRPQR' in $var with 'bob'. */
 echo substr_replace($var, 'bob', 10, -1) . "
n";
 echo substr_replace($var, 'bob', -7, -1) . "
n";
 /* Delete 'MNRPQR' from $var. */
 echo substr_replace($var, '', 10, -1) . "
n";
?>

Original: ABCDEFGH:/MNRPQR/
bob
bob
bobABCDEFGH:/MNRPQR/
ABCDEFGH:/bob/
ABCDEFGH:/bob/
ABCDEFGH://

将过长的字符串用省略号代替一部分

下面的程序可以将过长的字符串保留首尾,中间用省略号代替。

   

 代码如下 复制代码
 $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

Program List:将多出的字符用省略号代替

 代码如下 复制代码

 
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;
?>

好了你大概会知道此函数的作用了。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn