我需要削减字符串大约160个字符,但我想通过最接近的空格字符来切断。通过使用UTF-8字体(mb_
函数),任务变得更糟。我的代码如下:php找到最接近空格的字符后mb_substr()
<?php
function mb_strrev($str, $encoding='UTF-8'){
return mb_convert_encoding(strrev(mb_convert_encoding($str, 'UTF-16BE', $encoding)),
$encoding, 'UTF-16LE');
}
$in = mb_strpos(mb_strrev(trim(mb_substr($mysring, 0, 165))), ' ');
$new = mb_substr(mb_strrev(trim(mb_substr($mysring, 0, 165))), $in, 165);
mb_strrev($new);
?>
有谁知道更优雅的方式?
UTF-8是不是一种字体,这是一个*编码*。 – deceze
@deceze,实际上,我使用utf8编码的字体 – drdarwin
不,您正在处理以UTF-8编码的* strings *。 :-P – deceze