php 截取字符串bug
来源:互联网 发布:js获取鼠标滚动的距离 编辑:程序博客网 时间:2024/05/10 15:37
php有很多截取字符串的函数,mb_substr就是其中一个,不仅适用于英文还适合中文截取。
但是在截取字符串,我遇到了以下bug
$result = mysql_query($sql);while($row = mysql_fetch_assoc($result)){?><div class="section"><div class="article-time"><?php echo date("Y-m-d",$row['a_time']); ?></div><div class="article-title"><a href="article.php?a_id=<?php echo $row['a_id'] ?>"><?php echo $row['a_title']; ?></a></div><div class="article-content"><?php $string = preg_replace ("/(\<[^\<]*\>|\r|\n|\s|\[.+?\])/is", ' ', $row['a_content']);//转义html标签$string = htmlspecialchars($string);echo mb_substr($string, 0,180,'utf-8'); ?>......</div></div><?php}
由于在截取时,可能会截取到html标签,因为我的content是从后台编辑文章而来,文本编辑器里有很多的标签,当截取位置不恰当时,就导致了div标签配对的乱套。
解决 方法是去除要截取内容中的html标签。
<?php $string = preg_replace ("/(\<[^\<]*\>|\r|\n|\s|\[.+?\])/is", ' ', $row['a_content']);$string = htmlspecialchars($string);echo mb_substr($string, 0,180,'utf-8'); ?>......
实例
把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体:
<?php$str = "This is some <b>bold</b> text.";echo htmlspecialchars($str);?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html><html><body>This is some <b>bold</b> text.</body></html>
以上代码的浏览器输出:
This is some <b>bold</b> text.
0 0
- php 截取字符串bug
- php 截取中文字符串
- php的字符串截取
- PHP 截取字符串专题
- PHP 截取字符串专题
- PHP截取中文字符串
- PHP 字符串截取函数
- PHP 截取字符串专题
- PHP 截取字符串专题
- PHP 截取字符串函数
- PHP 截取字符串专题
- php截取中文字符串
- PHP 字符串截取
- 字符串截取php
- PHP截取中文字符串
- php 截取字符串
- PHP截取中文字符串
- php截取字符串方法
- linux c++ 字符串时间格式转unix timestamp
- java - 类的加载过程
- mysql 查看配置文件
- IntelliJ IDEA的光芒会盖过Eclipse吗
- 线程的创建和启动
- php 截取字符串bug
- 第四周 建立单链表
- Makefile和Makefile.sh在同一级目录下引发的问题
- IOS AppDelegate.m 详解
- ie7下z-index失效问题解决方法(详细分析)
- apache 整合tomcat环境搭建 +ssl协议 (终结版)
- Android 设计模式 简介
- codeforces 219D D. Choosing Capital for Treeland(树形dp)
- java http缓存