【发布时间】:2013-03-10 19:47:42
【问题描述】:
我的问题如下。我有一个这样的字符串:
$string = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
然后我将这个字符串输出到一个 100 像素宽的容器中。如果任何单词超过 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
【问题讨论】:
-
插入零宽度连接符。
-
如果您打算在 HTML 中使用它,请查看 CSS word-wrap
-
或者更复杂的方法是创建一个数组,如果一个项目的长度超过 10 个字符,则 chunk_split 它
-
您是否只是想让长单词换行而不是延伸到其父元素之外?
-
@sachleen 完美解决方案。