php如何包装一个没有空格的长字

时间:2018-04-18 11:42:17

标签: php css string break word

我在php网站中包含一个非常长的字符串有问题。如果用户输入一个没有空格的非常长的字符串,则会破坏设计。例如:“DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD”我想要一种方法来打破这个词,这样就不会破坏设计。只有在字符串之间没有空格时才会出现问题。 正常文字的外观如何:https://imgur.com/a/1Tazz

它看起来如何使用没有空格的长字符串:https://imgur.com/a/a1Muf

我尝试过使用css自动换行属性,但它无法解决问题。

1 个答案:

答案 0 :(得分:7)

使用CSS。不要让事情复杂化......



.rectangle {
    width: 200px;
    background: red;
    border: 1px solid #000;
    word-break: break-all;
}

<div class="rectangle">
    <p>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD</p>
</div>
&#13;
&#13;
&#13;

您可以阅读更多here

单词break属性只会破坏容器边缘的任何单词。

阅读了一些评论之后;我以为我会添加一个PHP版本。

<?php
$sentence = 'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD';
$wrapped = wordwrap($sentence, 17, "\n", true);
?>
<style>
    .rectangle {
        width: 200px;
        background: red;
        border: 1px solid #000;
    }
</style>
<div class="rectangle">
    <p><?= $wrapped; ?></p>
</div>

小提琴:

这种方法有许多缺点,即你需要知道容器的宽度和字符的宽度来计算断点;那么,如果你有一个响应式网站,这仍然会被打破。

对于这样的事情,请使用CSS方法。我只是为了完整性而包含这种方式。