colorful模板的私密评论问题解决办法

    选择打赏方式

正常情况下在评论内容为空时 ,不输入内容是无法进行评论 的,会提示“评论失败:请填写评论内容”;

如果用户勾选“私密评论” 后,评论框里会有“[私密评论]” 标识字符,这样即便不输入评论内容, 也能进行评论了;

还有就是在评论框中多个或连续输入“[私密评论] ”没有实际内容也会,通过私密评论。

 

所以 要确保 私密评论填写了实际的内容,检查 $content 是否包含特定的私密评论标识符,并且该标识符后面有实际的内容。

还要要限制用户反复输入“[私密评论]”或连续输入多个“[私密评论]”以绕过私密评论的限制。

在根目录/include/controller/comment_controller.php 中合适位置中添加:

   elseif ($content === '[私密评论]') {
        emMsg('评论失败:私密评论需要填写评论内容');
 } 
   elseif (preg_match('/^\[私密评论\](?:\s*\[私密评论\])*$/', $content)) {
        emMsg('评论失败:不是有效的私密评论 ');
 }

在这段代码中,有两个 elseif 语句,它们都是用来检查评论内容 $content 是否满足特定的条件,并在条件满足时通过 emMsg 函数发送一个错误消息

第一个 elseif 语句:

这个条件检查 $content 是否严格等于字符串 '[私密评论]'(即 $content 中没有多余的空格或其他字符)。如果条件满足,这意味着用户只输入了私密评论的标记而没有添加任何实际的评论内容。因此,系统通过 emMsg 函数发送一个错误消息,告诉用户“私密评论需要填写评论内容”。

第二个 elseif 语句:

这个条件使用了一个正则表达式来检查 $content 是否满足特定的模式。这个正则表达式会匹配任何只包含单个或重复的“[私密评论]”标记的字符串,可能中间夹杂着空白字符。如果条件满足,这意味着用户可能尝试通过重复输入私密评论标记来绕过私密评论的限制。因此,系统通过 emMsg 函数发送一个错误消息,告诉用户“不是有效的私密评论”。

这两个条件检查 确保了用户提交的评论内容既不是仅仅是“[私密评论]” 标记而没有实际内容,也不是仅由重复“[私密评论]” 重标记组成的无效评论,则系统会通知用户评论失败,因为这不是一个有效的私密评论格式。


元字符:

元字符 描述
. 匹配除换行符以外的任意字符
\d 匹配数字, 等价于字符组[0-9]
\w 匹配字母, 数字, 下划线或汉字
\s 匹配任意的空白符(包括制表符,空格,换行等)
\b 匹配单词开始或结束的位置
^ 匹配行首
$ 匹配行尾

反义元字符:

元字符 描述
\D 匹配非数字的任意字符, 等价于[^0-9]
\W 匹配除字母,数字,下划线或汉字之外的任意字符
\S 匹配非空白的任意字符
\B 匹配非单词开始或结束的位置
[^x] 匹配除x以外的任意字符

重复限定符:

限定符共有6个, 假设重复次数为x次, 那么将有如下规则:

限定符 描述
* x>=0
+ x>=1
? x=0 or x=1
{n} x=n
{n,} x>=n
{n,m} n<=x<=m

 

版权声明:若无特殊注明,本文为《寒星皓月》原创,转载请保留文章出处。
本文链接:https://www.wanghanyue.com/post-108.html
作品采用:知识共享署名 4.0 (CC BY-NC-SA 4.0) 国际许可协议 进行许可。
正文到此结束

相关推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

呵呵 哈哈 羡慕 惊恐 超赞 嗯哼 滑稽 不高兴 大哭 疑问 你懂得 打脸 黑线 委屈 小乖 酷 笑眼 汗 what 鄙视 喷 阴险 怒 吃瓜

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...

已有1条吐槽

优惠券平台

2个月前 (2024-03-07 10:02) 安徽省黄山市移动
写的很详细具体,学习到了,多谢博主的分享!⌇●﹏●⌇
 Windows 10 x64   Google Chrome 86.0.4240.198
优惠券平台