質問する
201 次
1 に答える
2
これは、Unicode 文字があり、間違った場所で正確に減算しており、その文字をレンダリングできないためです。
代わりに、スペースで減算する必要があります。次に例を示します。
echo implode(' ', array_slice(explode(' ', strip_tags(html_entity_decode($sentence, ENT_QUOTES, 'UTF-8'))), 0, 50)); // for 50 words
またはsubstr_unicodeを使用します。
function substr_unicode($str, $s, $l = null) {
return join("", array_slice(
preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY), $s, $l));
}
于 2012-09-18T14:20:29.823 に答える