您的位置:首页 > 编程语言 > PHP开发

PHP substr_replace()函数的几个应用例子

2011-11-17 00:00 633 查看

substr_replace()函数介绍

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

语法:substr_replace(string,replacement,start,length)

参数string,必需。规定要检查的字符串。

参数replacement,必需。规定要插入的字符串。

参数start,必需。规定在字符串的何处开始替换。正数 - 在第 start 个偏移量开始替换;负数 - 在从字符串结尾的第 start 个偏移量开始替换;0 - 在字符串中的第一个字符处开始替换。

参数charlist,可选。规定要替换多少个字符。正数 - 被替换的字符串长度;负数 - 从字符串末端开始的被替换字符数;0 - 插入而非替换。

如果 start 是负数且 length 小于等于 start,则 length 为 0。

Program List:substr_replace()函数基本用法

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

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

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

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

程序运行结果:

welcome to nowamagic, welcome to...

Program List:给金钱数额加上逗号

<?php
$price = "163000";
$price = substr_replace($price, ',', -3, 0);
echo $price;
?>

程序运行结果:

163,000
本文地址:http://www.nowamagic.net/librarys/veda/detail/412,欢迎访问原出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: