Ben D..
5
如果您希望长字符串在边界容器中一致地包装,我认为您应该能够通过在orignial字符串的每个字母之间插入零宽度空格字符(或\xe2\x80\x8b)来实现此目的.这将具有包装的效果,就像每个字符都是它自己的单词一样,但不向最终用户显示空格.这可能会导致您在最终产品上进行文本搜索或索引时出现问题,但它应该从美学角度可靠地完成任务.
从而:
testtestetstetstetstetstettstetstetstetstetstetstetstetstetstetstets
变
testtestetstetstetstetstettstetstetstetstetstetstetstetstetstetstets
(显示:"具体情况" T E T T [式T(E T)式T(E T)式T(E T)式T(E T)式T(E T)小号T E吨式T(E T)式T(E T)式T(E T)式T(E T)的")
因此,如果你包装它,它将完全包装到其容器的边界.
只需编写一个PHP脚本来循环遍历字符串并插入空格:
$string="testtestetstetstetstetstettstetstetstetstetstetstetstetstetstetstets";
$new_string = "";
for($i=0;$i
if ($string[$i]==' ' || $string[$i+1]==' '){ //if it is a space or the next letter is a space, there's no reason to add a break character
continue;
}
$new_string .= $string[$i]."";
}
echo $new_string
这是一个特别好的解决方案,因为wordwrap()它不同于自动调整非固定宽度字体(基本上是实际使用的字体的99%).
同样,如果您需要生成可搜索的PDF,这不是一个好方法,但它会使它看起来像您想要的那样.