我是PHP的新手并且有一个问题。
我做了一个类似聊天的应用程序,它运行良好,但我似乎无法找到我想要搜索以前的主题的确切内容。
用户可以从表单字段输入他们的$ message。所以......
$message = $_POST['message'];
输入框最多允许600个字符。现在,如果用户只发布一个不包含任何空格的长整个字符串,或任何字符串字符之间的空格。简短示例..
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
如果它达到一定长度,则会通过创建水平滚动框来打破页面。
如何获取$ message并对其进行过滤以便将其分解?但也要考虑到大多数用户发布了真正的$消息,而不是意外地拆分任何有效的单词等。也许是检查$ message数据元素之一是否长于xxx字符数量的东西,如果分手吧?或者最简单的方法是什么?
答案 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 +。
答案 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/>';
}
?>