PHP截取字符串的指定长度(兼容中英文)的方法
- 3978
- PHP
- 0
- super_dodo
- 2015/10/28
在对一些新闻简介详情等提取的时候,需要去除文章的HTML标签以及空格等。这样提取或者截取指定长度的字符串来展示。有以下三种方法,请选择性的使用。
//截取字符串的长度 如果长度大于给定的值则增加...
public function _mb_substr($str, $len=10){
$str_len = mb_strlen($str, 'UTF-8'); //此处传入编码,建议使用utf-8
$str = preg_replace("#<.+?>#is","",$str); //去除HTML标签
$str = preg_replace("# #is","",$str); //去除
if($str_len > $len){
$new_str = mb_substr($str, '0', $len,'utf-8') . '...';
}else{
$new_str = $str;
}
return $new_str;
}
//截取字符串的长度 后面不增加...
public function _mb_substr2($str, $len=10){
$str_len = mb_strlen($str, 'UTF-8'); //此处传入编码,建议使用utf-8
$str = preg_replace("#<.+?>#is","",$str); //去除HTML标签
$str = preg_replace("# #is","",$str); //去除
if($str_len > $len){
$new_str = mb_substr($str, '0', $len,'utf-8');
}else{
$new_str = $str;
}
return $new_str;
}
//截取规定长度的内容
public function subhtmlstr($str,$len){
$str=preg_replace("#<.+?>#is","",$str);
if($len>=strlen($str)){ return $str; }
$s="";
for($i=0;$i<$len;$i++){
$temp_str=substr($str,0,1);
if(ord($temp_str) > 127){ //ord() 函数返回字符串第一个字符的 ASCII 值。
$i++;
if($i<$len){
$new_str[]=substr($str,0,3);
$str=substr($str,3);
}
}else{
$new_str[]=substr($str,0,1);
$str=substr($str,1);
}
}
return join($new_str).'...';
}
[/php]
回首向来萧瑟处,归去,也无风雨也无晴.
- 使用PHP或Js来判断是否使用了微信浏览器
- 视频: 云南农民电影《大山女人》(方言版)
- 2014中国贫困县名单,有你的家乡没?
- PHP得到最近一周和某月\某年的实际天数Date(t)\Date(z)
- MySQL中varchar()的最大长度 char(255)最大长度
- 詹姆斯与科比终极PK:比钱比头脑23压倒24
- 奥本山打架事件10周年 回顾最恶劣斗殴事件
- 使用wampserver3安装搭建PHP7环境的过程
- postfix: fatal: parameter inet_interfaces: no local interface found for ::1
- [转]每天一个linux命令(40):ifconfig命令
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例