wordpress 中文截断产生乱码的无插件解决方案
3
Jul
2009
以下是网络上查找的wordpress 中文截断产生乱码的无插件解决方案,已经测试成功,感谢原作者的辛勤劳动与无私奉献。
seems_utf8是我刚才翻codex时发现的一个有趣的函数。
<?php seems_utf8( $Str ) ?>
它的作用是判断提供的字符$Str是否是utf8编码的,如果是utf8编码的返回true,否则返回false。
中文字符串的截断问题一直是php中比较让人头疼的问题,虽然你问谷哥可以得到很多方法解决这个问题,但既然WordPress已经提供了判断字符是否是utf8的函数,那为何不进行利用一下呢?
以下就是我利用上述函数得到的一个用于截断包含中文的字符串的一个函数:
/**
* cut_str用于截断包含中文(或其他多字节?)的utf8编码的字符串
* @param string $str utf8编码的字符串
* @param int $len 需要截取的长度(单位是字节)
*/
function cut_str($str, $len) {
if (!isset($str[$len])) {
// 判断字符串长度是否已经达到需要截取的长度
// 未达到时,直接输出原字符串
} else {
if (seems_utf8($str[$len-1])) // 判断截断字符串的最后一个字符是否是utf8编码的
$str = substr($str, 0, $len); // 如果是utf8编码的,直接截断输出
else { // 如果不是utf8编码的,因为utf8编码的中文是三个字节进行保存的,则判断该字符和周围字符组成的字符串是否符合utf8编码
if(seems_utf8($str[$len-3].$str[$len-2].$str[$len-1]))
$str = substr($str, 0, $len-3) . $str[$len-3] . $str[$len-2] . $str[$len-1];
elseif(seems_utf8($str[$len-2].$str[$len-1].$str[$len]))
$str = substr($str, 0, $len-2) . $str[$len-2].$str[$len-1].$str[$len];
elseif(seems_utf8($str[$len-1].$str[$len].$str[$len+1]))
$str = substr($str, 0, $len-1) . $str[$len-1].$str[$len].$str[$len+1];
else // 这个else应该不用也是可以的
$str = substr($str, 0, $len);
}
}
echo $str;
}
使用方法:
$str = 'dkjkio看看看看看';
cut_str($str, 10);上面输出的结果是:dkjkio看看
数一数,只是8个字符啊,我可是要截取10个字符的?上面函数中的解释已经说过了,utf8编码的中文是用3个字节进行保存的,其实上面的结果已经有12个字节了。所以你在使用的时候要考虑到这一点,不要以为截取的已经足够长了,其实得到的却只有寥寥几个字而已。
本文原作者:冰古 – seems_utf8函数与完美截断中文字符串
wowpie!猜你可能对以下内容感兴趣
22 Responses to wordpress 中文截断产生乱码的无插件解决方案
AlexCoreX
August 7th, 2009 at 5:22 AM
Как с Вами связаться? Хотел бы решить вопрос насчет покупки “постовых”, если это возможно.
Эд
August 26th, 2009 at 1:52 PM
“Блог в ридер однозначно”
Volter
August 26th, 2009 at 4:27 PM
Ничего себе подборочка!!!!!!! Великолепно!
Свой дом строю
April 12th, 2010 at 12:08 AM
Отличный пост, прочитала с удовольствием! Не плохое начало. Удачи в дальнейшем!
Антошка
April 12th, 2010 at 3:51 AM
Думаю, эту тему можно развивать до бесконечности
АнтоновДенис
April 13th, 2010 at 1:37 AM
полностью поддерживаю, такие же мысли были.
Serovs
April 26th, 2010 at 9:19 PM
Впопад верно, зачастую!
Leonoff
April 27th, 2010 at 10:21 PM
Надеюсь, остальные записи окажутся такими же интересными
Anton
April 29th, 2010 at 10:44 PM
Портал просто отличный, все бы такие!
Sobolev
May 26th, 2010 at 10:35 PM
Здраствуйте, не принимаю во внимание куда писать пропишу сюда. Я подписался на рсс вашего вебсайта, а текст отображается иероглифами помогите пожалуйста, возможно на e-mail
CelinaMathews
June 2nd, 2010 at 6:16 AM
Set your life easier take the mortgage loans and all you require.
videoxchat
July 5th, 2010 at 3:49 PM
Заходите на видео чат на секс видео чат
butKariut
July 15th, 2010 at 1:40 AM
Drerfeiva
cheap adipex without prescription
butKariut
ambien online consultation
NobeFeeve
lorazepam and sleeping
WadaWawncew
butKariut
July 18th, 2010 at 9:48 PM
Drerfeiva
adipex harmful side effects
butKariut
ambien cr overdose
NobeFeeve
lorazepam
WadaWawncew
Lirlomill
July 22nd, 2010 at 11:29 PM
teenage drivers insurance
mary widner insurance sarasota fl
commercial insurance training
liverpool victoria motor insurance
homeowners insurance
seminole casualty insurance company sunrise fl
cheap medical insurance
virgil r lee insurance krista byrne
the general auto insurance
colonial supplemental insurance
first time driver car insurance
advertising campaign for aviva insurance puppies
guide to insurance groups
horsmann insurance
allstate boat insurance
pinacal insurance holiday utah
cheap motor insurance for women
dumumpeld
July 26th, 2010 at 7:02 PM
I enjoyed reading your blog. Keep it that way.
HordAccounc
July 27th, 2010 at 10:49 PM
Без салонов красоты и студий загара сложно представить нашу жизнь. Мы уже сами, не осознавая происходящего, регулярно посещаем студии загара, пользуемся услугами салонов красоты. Если нам предложить отказаться от данных услуг, мы испытаем как минимум шок…
А что бы его не испытывать естьРейтинг салонов красоты
Shellaelalp
July 28th, 2010 at 5:36 PM
Проект moskow-sun.ru является эксклюзивным порталом в отрасли загара. Портал является структурированной системой объединяющей студии загара, и предоставляющей объективную оценку работы салонов. Объективность оценок в первую очередь достигается с помощью ваших отзывов и оценок студий загара.
lNOzfj
July 29th, 2010 at 3:31 AM
IjBGUg
GaisaGert
July 29th, 2010 at 2:54 PM
OffiseClinils
Интересные новости и не только в живой
voiseemob
MuhHoumsWeems
July 30th, 2010 at 8:33 AM
сайт обо всём на свете обо всём
MuhHoumsWeems
July 30th, 2010 at 1:23 PM
сайт обо всём на свете тут