时间:2021-05-26
本文实例讲述了php替换字符串中间字符为省略号的方法。分享给大家供大家参考。具体分析如下:
对于一个长字符串,如果你只希望用户看到头尾的部分内容,隐藏掉中间内容,你可以使用这个php函数,他可以指定要隐藏掉的中间字符串的数量
/** * Reduce 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 strMiddleReduceWordSensitive($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 strMiddleReduceWordSensitive ($text, 30) . "\n";// Returns: This is a very[...]foo bar nothing (~ 30 chrs)print strMiddleReduceWordSensitive ($text, 30, '...') . "\n";// Returns: This is a very...foo bar nothing (~ 30 chrs)希望本文所述对大家的php程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
**处理过长的字符串,截取并添加省略号*注:半角长度为1,全角长度为2**pStr:字符串*pLen:截取长度**return:截取后的字符串*复制代码代码如下
对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下:打开Common/extend.php页面,修改msubstr函数如下:function
今天在做jsp页面展示的时候碰到一个实现溢出文本显示省略号的需求原本使用js截取字符串然后判断字符串长度实现,不过相对比较繁琐,并且字符串长度不能自适应听说用c
JavaScriptreplace方法replace方法用于在字符串中用一些字符串替换另一些字符串,或者替换符合正则匹配的字符串,并返回替换后的字符串。其语法如
css3中如何让多余的字符串消失并附加省略号的方法可以使用复制代码代码如下:white-space:nowrap;text-overflow:ellipsis;