php:如何分割一个非常长的字符串

时间:2015-04-22 18:34:58

标签: php html css

我是PHP的新手并且有一个问题。

我做了一个类似聊天的应用程序,它运行良好,但我似乎无法找到我想要搜索以前的主题的确切内容。

用户可以从表单字段输入他们的$ message。所以......

$message = $_POST['message'];

输入框最多允许600个字符。现在,如果用户只发布一个不包含任何空格的长整个字符串,或任何字符串字符之间的空格。简短示例..

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

如果它达到一定长度,则会通过创建水平滚动框来打破页面。

如何获取$ message并对其进行过滤以便将其分解?但也要考虑到大多数用户发布了真正的$消息,而不是意外地拆分任何有效的单词等。也许是检查$ message数据元素之一是否长于xxx字符数量的东西,如果分手吧?或者最简单的方法是什么?

3 个答案:

答案 0 :(得分:1)

您应该将$message的内容放在element内设置class以打破长行(word-wrap: break-word):

即:

<强> .PHP

<?php

if(isset($message = _$POST['message'])){
$message = _$POST['message'];

echo "<div class='message'>$message</div>

}

<强>的CSS

.message {
  word-wrap: break-word;
/* Be VERY careful with this, breaks normal words */
  word-break: break-all;

-webkit-hyphens: auto;
   -moz-hyphens: auto;
        hyphens: auto;
}

以上版本适用于Internet Explorer 8 +,Firefox 6 +,iOS 4.2,Safari 5.1+和Chrome 13 +。

CODEPEN DEMO

答案 1 :(得分:0)

当然,我在发布此帖后立即在网上找到答案。答案是把它放到我的CSS的主体中:

overflow-x:hidden;
word-wrap: break-word;

答案 2 :(得分:0)

我认为最简单的方法

<?php
$f = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffff';
$row = 3;
$n = ceil(strlen($f) / $row);
for($i = 0; $i < $row; $i++){
    echo substr($f, 0, $n) . '<br/>';
}
?>