用于强制表格换行的 PHP 或 HTML/CSS 解决方案

发布于 2024-10-06 15:07:55 字数 181 浏览 7 评论 0原文

我有一个充满用户生成文本的表格。 文本跨越 TD 允许的范围,但是如果输入是由长字符串组成的字符串,没有中断字符(空格、破折号等),则会弄乱表格。

例如gggggggggggggggggggggggggggggggggggggggggggggggggggg

我怎样才能使这些字符串也包裹起来?

谢谢。

I have a table filled with user generated text.
The text spans for as much as the TD allows, however if the input is a string made of a long string with no breaking chars (white space, dash etc) it messes up the table.

e.g. ggggggggggggggggggggggggggggggggggggggggggggggggggggg

How can I make it so that those strings wrap as well?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

您可以使用CSS:

table {
    table-layout: fixed;
    width: 100%;
}

table td, table th {
    word-wrap: break-word;       /* Internet Explorer 5.5+, Chrome, Firefox 3+ */
    overflow-wrap: break-word;   /* CSS3 standard: Chrome & Opera 2013+ */
}

/* Use this if you also want to preserve multiple spaces in text */
table td, table th {
    white-space: -moz-pre-wrap;  /* Firefox 1.0-2.0 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    white-space: pre-wrap;       /* CSS3 */
}

这是一个示例: http://www.jsfiddle.net/QPP8A/ (现在已经过时了,抱歉)

如果您发现这很难应用,您可以使用 PHP 的自动换行功能

$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

You can use CSS:

table {
    table-layout: fixed;
    width: 100%;
}

table td, table th {
    word-wrap: break-word;       /* Internet Explorer 5.5+, Chrome, Firefox 3+ */
    overflow-wrap: break-word;   /* CSS3 standard: Chrome & Opera 2013+ */
}

/* Use this if you also want to preserve multiple spaces in text */
table td, table th {
    white-space: -moz-pre-wrap;  /* Firefox 1.0-2.0 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    white-space: pre-wrap;       /* CSS3 */
}

Here is an example: http://www.jsfiddle.net/QPP8A/ (now out of date, sorry)

If you find this to hard to apply, you can use PHP's wordwrap function:

$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");
巴黎盛开的樱花 2024-10-13 15:07:55

尝试这个jquery解决方案,它会在定义的字母数后中断文本:

http://plugins.jquery。 com/project/Word-Break

你可以像这样使用它。

$('yourtable td').wordwrap({
        width: 50,
        cut:true,
        brk: '<br/>\n'
        })

谢谢

try this jquery solution it will break the text after number of letters defined:

http://plugins.jquery.com/project/Word-Break

You can use it like this.

$('yourtable td').wordwrap({
        width: 50,
        cut:true,
        brk: '<br/>\n'
        })

Thanks

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文