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;
- ?>
好了你大概會知道此函數的作用了.
|
新聞熱點
疑難解答