Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php检查字符串没有大于限制的空间和长度_Php - Fatal编程技术网

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";