To fix post_island , edit cache_builders/post_island.php
comment out these codes :
foreach ($words as $i => $w) {
if ( strlen ( $words[$i] ) > 20 ) {
$words[$i] = wordwrap( $words[$i], 20, "<br />", 1);
} // end if
} // end foreach
It works.
I think PHP shouldn't rely on strlen to judge the 'width' of a character. Because strlen seems calculate the
memory consumption of a word , not the word's display width.
For English , each character consumes one byte , and it is one byte width , too.
BUT ,
For Chinese UTF-8 encoded character , each character consumes 3 bytes , but it is
only 2-byte width (in fixed-width fonts).
So , my users can only type 6 Chinese character each token , they are 18 bytes , but only occupy 12 bytes width.
I am not familiar with PHP , don't know how to get a word's display width.
Maybe there should be a '
wrap text toggle' for each widget (Shout Box and Post Island ...)