程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php substr_replace替換字符串一些實例

php substr_replace替換字符串一些實例

編輯:關於PHP編程

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

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

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

好了你大概會知道此函數的作用了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved