php检查字符串没有大于限制的空间和长度
我有一个网站,用户可以添加评论。现在的问题是一些用户添加了非常长的字符串,我无法阻止他们这样做,就像用户添加了评论:php检查字符串没有大于限制的空间和长度,php,Php,我有一个网站,用户可以添加评论。现在的问题是一些用户添加了非常长的字符串,我无法阻止他们这样做,就像用户添加了评论: aatdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 另一位用户对此评论发表评论: ggvddghjbxvj
aatdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
另一位用户对此评论发表评论:
ggvddghjbxvjfuihdfjkljgghkkollkkkkkkļfghjjkjjjjjjjjjjhjbjjxxfdfhgsxvvbdsxvvgssxcxxźvgggfggffccccffghjjjjjjjhfdsxvhjnbdddhugsdhjnnhhjjjjnnjxxssfghjiikjkmjjhgcxsdghjkkkk
以下是代码:
if (isset($_POST['addReview'])) {
$summary = isset($_POST['summary']) ? trim($_POST['summary']) : '';
如何检查输入字符串长度,并确保没有像上面那样的评论,输入只是单词?更好的解决方案是使用
word-wrap: break-word;
当字符串太长时,它将断开字符串。您应该使用以下函数: 检查字符串的长度 检查是否有空格 最后,你应该有这样的东西:
if (strlen($string) > $limit && stristr($string, ' ') === false) {
// Don't store the string
}
我不知道您是否在使用PHP,但解决方案非常简单: 假设您希望审阅的最大长度为100:
if (strlen($review)<100) {
// post the review
}
else {
die("Sorry the input is too large.");
}
另一种方法,但不安全:
希望能有所帮助。在php中,您可以检查或计算单词总数,以生成最小句子,还可以检查长度
$string="Hello world!";
$count= str_word_count($string);
$arr = explode(' ',trim($string));
$len=strlen($arr[0]);
在Css中,您可以查看并使用
单词包装:打断单词 您可以使用CSS将数据包装到UI层,而不是操纵数据。使用: 单词包装:打断单词 有关更多信息,请参阅此
因为最大的单词由45个字符组成,所以您可以像上面那样进行检查,但您可以更改单词长度,因为用户输入该单词的概率较小。可能重复的答案对我没有帮助。@Epodax不太可能,这个问题结合了检查字符串长度和检查是否存在空格。因此,不想限制多少单词/长度,只是希望人们不发表胡言乱语?这将很难检查,如果是因为化妆品,那么我相信有人已经准备好发布答案了。@Epodax所以你的意思是答案是不可能的!!!:我尝试回答这个问题,但对我不起作用,这就是我来这里询问的原因。谢谢,让我试试这个。当在页面上显示数据时,您的解决方案很好地处理了这个问题。我有问题!!这是我的输入字符串:您好,这是测试回顾,我收到错误消息:word not allowed,为什么会这样,因为在输入字符串中没有任何单词的长度超过45个字符。请检查这个,我没有得到错误在这种情况下,它是工作正常,但在实际提交后,它是不工作的。请粘贴整个代码,以便我可以看到它,在这里添加代码并与我共享,以便我可以查看
$string="Hello world!";
$count= str_word_count($string);
$arr = explode(' ',trim($string));
$len=strlen($arr[0]);
$post = $_POST['review'];
$postArray = explode(' ' , $post);
$flag=0;
foreach($postArray as $value)
{
if(strlen($value)>45) // the largest word has count 45 characters , you can change the count
$flag = 1;
}
if($flag)
echo "word not allowed";