问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php替换字符串中间字符为省略号的方法

发布网友 发布时间:2022-04-06 01:56

我来回答

1个回答

热心网友 时间:2022-04-06 03:26

本文实例讲述了php替换字符串中间字符为省略号的方法。分享给大家供大家参考。具体分析如下:
对于一个长字符串,如果你只希望用户看到头尾的部分内容,隐藏掉中间内容,你可以使用这个php函数,他可以指定要隐藏掉的中间字符串的数量
/**
*
Rece
a
string
by
the
middle,
keeps
whole
words
together
*
*
@param
string
$string
*
@param
int
$max
(default
50)
*
@param
string
$replacement
(default
[...])
*
@return
string
*
@author
david
at
ethinkn
dot
com
*
@author
loic
at
xhtml
dot
ne
*
@author
arne
dot
hartherz
at
gmx
dot
net
*/
function
strMiddleReceWordSensitive($string,$max=50,$rep='[...]'){
$strlen
=
strlen($string);
if
($strlen
<=
$max)
return
$string;
$lengthtokeep
=
$max
-
strlen($rep);
$start
=
0;
$end
=
0;
if
(($lengthtokeep
%
2)
==
0)
{
$start
=
$lengthtokeep
/
2;
$end
=
$start;
}
else
{
$start
=
intval($lengthtokeep
/
2);
$end
=
$start
+
1;
}
$i
=
$start;
$tmp_string
=
$string;
while
($i
<
$strlen)
{
if
(isset($tmp_string[$i])
and
$tmp_string[$i]
==
'
')
{
$tmp_string
=
substr($tmp_string,
0,
$i)
.
$rep;
$return
=
$tmp_string;
}
$i++;
}
$i
=
$end;
$tmp_string
=
strrev
($string);
while
($i
<
$strlen)
{
if
(isset($tmp_string[$i])
and
$tmp_string[$i]
==
'
')
{
$tmp_string
=
substr($tmp_string,
0,
$i);
$return
.=
strrev
($tmp_string);
}
$i++;
}
return
$return;
return
substr($string,
0,
$start).$rep.substr($string,
-
$end);
}
演示范例:
//
example:
$text
=
'This
is
a
very
long
test
sentence,
bla
foo
bar
nothing';
print
strMiddleReceWordSensitive
($text,
30)
.
"\n";
//
Returns:
This
is
a
very[...]foo
bar
nothing
(~
30
chrs)
print
strMiddleReceWordSensitive
($text,
30,
'...')
.
"\n";
//
Returns:
This
is
a
very...foo
bar
nothing
(~
30
chrs)
希望本文所述对大家的php程序设计有所帮助。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 怎样用PHP正则替换特定标志及其间的字符呢? php 替换a和b之间的字符串 PHP正则替换,指定字符串之间的字符串 php 字符替换怎么弄? php 利用openoffice把office转成pdf格式,该怎么解决 如何将WORD文本文件变为PDF文件??? Doc文件转换为Pdf文件 php调用libreoffice将doc转pdf的问题 PHP 中怎么实现OFFICE文件转换成PDF文件格式 如何将doc格式的word文档转换成pdf 跪求大神解决PHP环境配置中,修改Apache遇到的问题: Cannot load php5apache2_2.dll into server httpd.conf中加上LoadModule php5_module &quot;D:&#47;web&#47;php5.6&#47;php5apache2_4.dll&quot;启动失败 配置apach php 报错无法加载php5apache2.dll php和apache配置 LoadModule php5_module D:/php/php5apache2.dll php和apache配置时,下载php5.3.8这个版本,里面怎么没有php5apache2_2.dll这个文件 php5.3 php5.4解压之后为什么没有php5apache2 下载的php-5.3.5解压后的目录中没有php5apache2.dll,怎么配置httpd.conf 文件? apache2.2.17和php5.3.4怎么配置 php中没有php5apache2_2.dll这个文件 刚安装了PHP5.4.0,想把它和apache连接,但是找不到php5apache2.dll ,求高人指点 这个怎么解决的呀 php5apache2_4.dll读取不到,Apache2.4服务无法开启 php字符串内容替换 php中 str_replace() 如何替换字符的? 如何用PHP修改excel里的内容 在php生成excel文档时怎样设定字体大小? 怎么用PHPexcel选定指定的excel并修改里面的某个sheet php&nbsp;如何控制mysql&nbsp;输出excel的列为文本格式,输出的excel格式中000丢失 基于php中使用excel的简单介绍 PHP生成excel,就是用header生成,请问如何控制生成的excel样式。比如居中对齐,背影颜色等? php处理excel文件,如何动态改变默认文件名。 在php中如何删除当前使用excel导入的内容 php怎么导入Excel表格到数据库,根据表格内的字段修改对应数据,请问大神怎么导入数据库???? php如何给excel表格添加水印 PHP如何将查询出来的数据导出成excel表格(最好做一个按钮) php 创建excel时wamp怎样设置 php生成excel形式怎么修改excel的背景色 php怎样生成excel表格 - 技术问答 时间戳 转换为 多少天多少小时 php 如何在php如何把时间戳转化为时间 PHP时间戳换算 php,怎样把date(&quot;Y-m-d H:i:s &quot;) 换算成time()结构