码迷,mamicode.com
首页 > 其他好文 > 详细

正则匹配 

时间:2018-09-12 11:14:11      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:font   失败   strlen   转义   匹配   nbsp   std   san   过滤   

$postData[‘QuanTopic‘][‘content‘] = strip_tags($postData[‘QuanTopic‘][‘content‘]); //去除字符串中的html的标签

$postData[‘QuanTopic‘][‘content‘] = preg_replace(‘/\ /‘, ‘ ‘, $postData[‘QuanTopic‘][‘content‘]); // 正则表达式把文本中的空格&nbap; 替换成真的 ‘ ‘, 然后trim() 过滤

// echo mb_strlen( trim($postData[‘QuanTopic‘][‘content‘])); die;

有时候利用了编辑器的插件,导致更新完内容之后,发现字符串的长度不对,var_dump(),打印出来的是 string(12) " 送达"(这是举了个例子),按理说应该是 1 + 3 + 3 = 7 (UTF-8编码的汉字占3字节)
但是显示的长度却是 12,为什么 ? 因为插件把空格 当做   处理了。这样算出来正好是(6 + 3 + 3) 12了,怎么强制把他转为空格呢? 正则表达式匹配替换,用str_replace()实现不了,原因不明
而在匹配的时候切记要把&给转义一下,不然就会失败。

mb_strlen() 函数的作用 是多字节的字符,都按1个字节处理!

正则匹配 

标签:font   失败   strlen   转义   匹配   nbsp   std   san   过滤   

原文地址:https://www.cnblogs.com/wangshuazi/p/9633100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!