我有一个用户可以添加评论的网站。现在问题是一些用户添加了非常冗长的字符串,我无法阻止他们这样做,就像用户添加评论一样:
aatdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
另一位用户提出此评论:
ggvddghjbxvjfuihdfjkljgghkkollkkkkkkļfghjjkjjjjjjjjjjhjbjjxxfdfhgsxvvbdsxvvgssxcxxźvgggfggffccccffghjjjjjjjhfdsxvhjnbdddhugsdhjnnhhjjjjnnjxxssfghjiikjkmjjhgcxsdghjkkkk
这是代码:
if (isset($_POST['addReview'])) {
$summary = isset($_POST['summary']) ? trim($_POST['summary']) : '';
如何检查输入字符串长度并确保没有上述评论,输入只是单词?
答案 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">
希望它有所帮助。