長い文字列を境界コンテナ内で一貫して折り返す必要がある場合は、元の文字列のすべての文字の間にゼロ幅スペース文字(または)を挿入する​
\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
(これは次のように表示されます:「ええとええええええええええええええええええええええええ」)
したがって、ラップすると、コンテナの境界に正確にラップされます。これが例としてのフィドルです。
文字列をループしてスペースを挿入するPHPスクリプトを作成するだけです。
$string="testtestetstetstetstetstettstetstetstetstetstetstetstetstetstetstets";
$new_string = "";
for($i=0;$i<strlen($string);$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を検索可能にする必要がある場合、これは適切なアプローチではありませんが、希望どおりに表示されます。