最近有人问我怎么实现煎蛋的评论直接发图,第一时间想到正则替换,貌似又不太靠谱,最后还是改写到数据库了。
1. add_filter('preprocess_comment')
评论提交之后,通过此api来加以处理,比如判断spam。
2. 正则判断是否是图片:"/(http:\/\/|https:\/\/){1}.+?\.(jpg|gif|bmp|bnp|png)$/is",感谢@MeeSii修正。
3. 普通用户没有发图片(< img src="" />)的权限,如果设置成所有文章评论都可以发图,似乎又不太好,于是加以处理
global $allowedtags; $allowedtags['img'] = array('src' => array (), 'alt' => array ());
以下是完整代码
function auto_comment_image( $comment ) {// by http://mufeng.me $post_ID = $comment["comment_post_ID"]; if($post_ID == 972){ //此处为页面id global $allowedtags; $content = $comment["comment_content"]; // alt部分自行填写 $content = preg_replace('/(http:\/\/|https:\/\/){1}.+?\.(jpg|gif|bmp|bnp|png)$/is','',$content); //允许发布img标签 $allowedtags['img'] = array('src' => array (), 'alt' => array ()); // 重新给$comment赋值 $comment["comment_content"] = $content; } return $comment; } add_filter('preprocess_comment', 'auto_comment_image');
拥有多年WordPress博客/企业建站开发经验,独树一帜的设计,提供最专业的网站设计方案;原创的主题标签语义化,增强网站优化效果。
增强用户体验、提高品牌形象给人留下深刻的印象,那就选择我们,我们的每一款主题都是独一无二的,都有自己的灵魂,每款主题都有各自的配色方案。
遵循现代网页设计的趋势,所有主题都提供完整的响应式布局,优化大桌面显示器以及对平板和智能手机的支持,从而提供一致性的用户体验。
长期及时地在线售后服务和免费升级更新,确保您的网站始终运行在最佳状态,24小时QQ在线的沟通方式免去您的后顾之忧,替您节省网站维护成本。
目前还没有评。