您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

混合编码的文本段落重排

2024/10/14 5:34:48发布29次查看
http://www.sgcha.cn/cha.php 在文本处理中,尤其是大段的文本处理,由于html语言的规则以及文本编码的不同,使得文字容易出现乱码。同时由于换行的不同,使得文本要经常进行段落重排。 段落重排的标识主要是根据特定的标点符号来进行。具体参考代码中的注释
http://www.sgcha.cn/cha.php
在文本处理中,尤其是大段的文本处理,由于html语言的规则以及文本编码的不同,使得文字容易出现乱码。同时由于换行的不同,使得文本要经常进行段落重排。
段落重排的标识主要是根据特定的标点符号来进行。具体参考代码中的注释 $strtest = '这个是第一个句子,的第一部分。的反对法 的飞洒?\u3434,';$strtest =cut_str_by_mb ($strtest );echo ;echo $strtest;/*********************************************************************输入一个字串此处的关键是段落的标点,是一个utf-8的编码 返回排版后的字串。*********************************************************************/function cut_str_by_mb ($str,$arr_tag=null){ if($arr_tag==null){ $arr_tag=array( '\u2026', '\u201d', '\u302', '\uff1f', ':', '\uff1a', ); } $str=set_char_set($str);//不管先检查字符格式,转化成utf-8的再说 $str=unescape($str);//把里面16进制编码的转化成utf-8的格式 $tmp_array=preg_split(/((\r(?!\n))|((?$v) { if(substr($v,0,2) == %u){ $ar[$k] = iconv(ucs-2be,utf-8,pack(h4,substr($v,-4))); } elseif(substr($v,0,3) == &#x){ $ar[$k] = iconv(ucs-2be,utf-8,pack(h4,substr($v,3,-1))); } elseif(substr($v,0,2) == &#) { $ar[$k] = iconv(ucs-2be,utf-8,pack(n,substr($v,2,-1))); } } return join(,$ar);} /**************************************************************** 把utf-8编码的字符返回 unicode的字串**********************************************************************/function unicode_encode($name){ $name = iconv('utf-8', 'ucs-2', $name); $len = strlen($name); $str = ''; for ($i = 0; $i 0){ // 两个字节的文字 $str .= '\u'.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16); }else{ $str .= $c2; } } return $str;}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product