html5 break word,Html2pdf不支持word-break:break-all css

Ben D..

5

如果您希望长字符串在边界容器中一致地包装,我认为您应该能够通过在orignial字符串的每个字母之间插入零宽度空格字符(​或\xe2\x80\x8b)来实现此目的.这将具有包装的效果,就像每个字符都是它自己的单词一样,但不向最终用户显示空格.这可能会导致您在最终产品上进行文本搜索或索引时出现问题,但它应该从美学角度可靠地完成任务.

从而:

testtestetstetstetstetstettstetstetstetstetstetstetstetstetstetstets

t​e​s​t​t​e​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s​t​e​t​s

(显示:"具体情况" 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,这不是一个好方法,但它会使它看起来像您想要的那样.

你可能感兴趣的:(html5,break,word)