php check string没有空格和长度大于limit

时间:2016-07-26 08:07:26

标签: php

我有一个用户可以添加评论的网站。现在问题是一些用户添加了非常冗长的字符串,我无法阻止他们这样做,就像用户添加评论一样:

aatdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 

另一位用户提出此评论:

ggvddghjbxvjfuihdfjkljgghkkollkkkkkkļfghjjkjjjjjjjjjjhjbjjxxfdfhgsxvvbdsxvvgssxcxxźvgggfggffccccffghjjjjjjjhfdsxvhjnbdddhugsdhjnnhhjjjjnnjxxssfghjiikjkmjjhgcxsdghjkkkk

这是代码:

if (isset($_POST['addReview'])) {
    $summary = isset($_POST['summary']) ? trim($_POST['summary']) : '';

如何检查输入字符串长度并确保没有上述评论,输入只是单词?

6 个答案:

答案 0 :(得分:2)

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

由于最大的单词是45个字符,因此您可以像上面一样进行检查,但是您可以更改单词长度,因为用户放置该单词的概率较小。

答案 1 :(得分:1)

更好的解决方案是使用

word-wrap: break-word;

当它太长时会破坏字符串

答案 2 :(得分:1)

您应该使用以下功能:

最后,你应该有这样的事情:

//Here call the .on to    
$("#anotherElement").on('click', function(){
     $('.tooltip').tooltipster();
     newFunction();
});

//Call the function to show title
function newFunction(){
     $('#newelement'). click(function(e){
           $('#elements').h tml('<span class="tooltip" title="This is my spans tooltip message!">New element</span>');
     });
}

答案 3 :(得分:0)

在php中,您可以检查或统计总字数以制作最小句子并检查长度

$string="Hello world!";
$count= str_word_count($string);
$arr = explode(' ',trim($string));
$len=strlen($arr[0]);

在Css中,您可以查看使用

自动换行:打破字;

答案 4 :(得分:0)

您可以使用CSS将其包装在UI层上,而不是操纵您的数据。使用:

word-wrap: break-word;

有关详细信息,请参阅此http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_word-wrap

答案 5 :(得分:-1)

我不知道您是否使用PHP,但解决方案非常简单: 假设您希望评论的最大长度为100:

if (strlen($review)<100) {
 // post the review
}
else {
  die("Sorry the input is too large.");
}

另一种方法,但不安全

<input type="text" name="review" maxlength="100">

希望它有所帮助。