php 如何将没有空格的很长的单词换行
php how to wrap a very long word that has no spaces
我在 php 站点中包装一个很长的字符串时遇到问题。如果用户输入一个没有空格的非常长的字符串,就会破坏设计。例如:"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" 我想要一种方法来打破这个词,这样它就不会破坏设计。仅当字符串在字符之间没有空格时才会出现问题。
普通文本的外观:https://imgur.com/a/1Tazz
没有空格的长字符串看起来如何:https://imgur.com/a/a1Muf
我试过使用 css 自动换行 属性,但没有解决问题。
使用CSS。不要把事情复杂化...
.rectangle {
width: 200px;
background: red;
border: 1px solid #000;
word-break: break-all;
}
<div class="rectangle">
<p>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD</p>
</div>
您可以阅读更多内容here。
分词 属性 只会打断任何超出容器边缘的词。
看了一些评论后;我想我会添加一个 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 方法。为了完整起见,我只包括这种方式。
我在 php 站点中包装一个很长的字符串时遇到问题。如果用户输入一个没有空格的非常长的字符串,就会破坏设计。例如:"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" 我想要一种方法来打破这个词,这样它就不会破坏设计。仅当字符串在字符之间没有空格时才会出现问题。 普通文本的外观:https://imgur.com/a/1Tazz
没有空格的长字符串看起来如何:https://imgur.com/a/a1Muf
我试过使用 css 自动换行 属性,但没有解决问题。
使用CSS。不要把事情复杂化...
.rectangle {
width: 200px;
background: red;
border: 1px solid #000;
word-break: break-all;
}
<div class="rectangle">
<p>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD</p>
</div>
您可以阅读更多内容here。
分词 属性 只会打断任何超出容器边缘的词。
看了一些评论后;我想我会添加一个 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 方法。为了完整起见,我只包括这种方式。