se64_encode过后数据量会增大 50%。
注意,这里输入和输出的字符串编码都是UTF-8 function string2words($s,$return_string = true,$encode64 = true)
{
$re = '';
//匹配汉字
if (preg_match_all("/([x{4e00}-x{9fff}]{2,})/u",$s,$ms))
{
foreach($ms[0] as $w)
{
//关键部分:分词
$l = strlen($w)/3;
for($i=0;$i
{
$wi = substr($w,$i*3,6);
if (strlen($wi) > 3)
{
$re .= ($encode64)?' '.str_replace(',','@',base64_encode($wi)):' '.$wi;
}
}
}
}
//匹配数字
if (preg_match_all("/(d+[.]?d+)/",$s,$ms))
{
foreach($ms[0] as $wi)
{
if(strlen($wi) >= 2)
{
$re .= ($encode64)?' '.str_rep