首页 > 网站 > 建站经验 > 正文

php substr_replace替换字符串教程分享

2024-04-25 20:36:28
字体:
来源:转载
供稿:网友

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

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


substr_replace(string,replacement,start,length)

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

<?php

$string1="123456789";

echo substr_replace($string1,'###',0);

//### http://www.bcty365.com

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'.
*/http://www.bcty365.com

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;

// 从一半的长度开始http://www.bcty365.com
$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;

?>

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

 

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表