好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php substr_replace替换字符串一些实例 - php函数

php substr_replace替换字符串一些实例

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

将过长的字符串用省略号代替一部分,下面的程序可以将过长的字符串保留首尾,中间用省略号代替,代码如下:

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

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

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

查看更多关于php substr_replace替换字符串一些实例 - php函数的详细内容...

  阅读:42次