作者no1kk (心中在下雨)
看板PHP
标题[请益] 如何判断字串的某个位置的字是全形 or 半形
时间Thu Jul 17 10:54:35 2008
假设我做了一个文章标题的列表
但是因为格子的长度有限
而标题可能很长
因此我用了mb_strimwidth 来撷取一定长度的字串
但是中文字在计算长度上一个字是2
而英文和半形的空白键都是1
所以标题夹杂英文或空白键时
如果撷取的末端位置又刚好是中文字
就有可能在画面上出现 ?
如:
原始码
print(mb_strimwidth($article_subject,0,24,"...."));
出现的画面
伦敦停车月费3万5 全球最?....
应该要如何避免这个问题呢?
查了书没有看到相关的函数...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.97.19
1F:推 dspswen :mb_substr($row[content],0,24,'utf-8')."xxx"; 07/17 11:38
2F:→ dspswen :版上一位高手提供的 爬文可以找到 @@ 07/17 11:38
3F:推 Huangs :你用的mb_strimwidth 应该没错 07/18 23:17
4F:→ Huangs :不过你是不是没有设 internal_encoding? 07/18 23:17
5F:→ Huangs :另外 一楼的方法没有办法输出固定"宽度"的字串 07/18 23:17
6F:→ Huangs :比如说 中文24个字元,和英数24个字元 宽度差一倍 07/18 23:18
7F:推 curtis816 :最後要加上encoding的参数 07/19 23:25