http://www.sgcha.cn/cha.php 在文本处理中,尤其是大段的文本处理,由于html语言的规则以及文本编码的不同,使得文字容易出现乱码。同时由于换行的不同,使得文本要经常进行段落重排。 段落重排的标识主要是根据特定的标点符号来进行。具体参考代码中的注释
http://www.sgcha.cn/cha.php
在文本处理中,尤其是大段的文本处理,由于html语言的规则以及文本编码的不同,使得文字容易出现乱码。同时由于换行的不同,使得文本要经常进行段落重排。
段落重排的标识主要是根据特定的标点符号来进行。具体参考代码中的注释
$strtest = '这个是第一个 句子, 的第一部分。 的反对法 的飞洒? \u3434, '; $strtest =cut_str_by_mb ($strtest ); echo "<pre class="brush:php;toolbar:false">"; 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))|((?<!\r)\n)|(\r\n))/", $str);//根据换行符拆分成数组 $tmp_val=''; foreach($tmp_array as $v){ if(!empty($tmp_val)){ $v=trim($v);//去掉字符的首尾空格 } $tmp_val=$tmp_val.$v;//链接后面的值,组成新的字串 $len=mb_strlen( $tmp_val, 'utf-8') ; $endtag=mb_substr($tmp_val,$len-1,1,'utf-8'); $u_tag=unicode_encode($endtag); if (in_array($u_tag, $arr_tag)) { $return_arr[]=$tmp_val; $tmp_val=''; } } $return_str=implode("\r\n",$return_arr); return $return_str; } /**************************************************************** 检查编码,统一用utf-8 **********************************************************************/ function set_char_set($data){ if( !empty($data) ){ $fileType = mb_detect_encoding($data , array('UTF-8','GBK','LATIN1','BIG5')) ; if( $fileType != 'UTF-8'){ $data = mb_convert_encoding($data ,'utf-8' , $fileType); } } return $data; } /**************************************************************** 把其中的&# 以及joson格式转化成中文 **********************************************************************/ function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r); $ar = $r[0]; // print_r($ar); foreach($ar as $k=>$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 < $len - 1; $i = $i + 2){ $c = $name[$i]; $c2 = $name[$i + 1]; if (ord($c) > 0){ // 两个字节的文字 $str .= '\u'.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16); }else{ $str .= $c2; } } return $str; }

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中