我的问题如下。我有一个这样的字符串:
$string = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
我在一个 100px 宽的容器中输出这个字符串。如果任何单词超过 10 个字符,有什么方法可以在 10 个字符后自动插入一个空格?
$string = chunk_split($string, 10);
不是一个好的解决方案,因为它会在单词中间插入一个空格。例如:
$string = "This is why chunk_split doesn't work";
$string = chunk_split($string, 10);
echo $string;
// OUTPUT: This is wh y chunk_sp lit doesn' t work
关键是空格字符允许字符串创建一个新行。
期望输出:
$string = "This is how it should work.";
$string = function_i_am_looking_for($string);
echo $string;
// OUTPUT: This is how it should work.
$string = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
$string = function_i_am_looking_for($string);
echo $string;
// OUTPUT: AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA
最佳答案
如果您只是想强制您的字符串换行而不是扩展到其父元素之外,您可以直接在 css 中执行此操作,而根本不必弄乱您的字符串:
p {
width: 100px;
word-wrap: break-word;
}
<p>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</p>
这会让浏览器找出它需要中断的地方,而不是你试图在服务器上找出它。
关于php - 当单词太长时添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15326735/