我也做了两款主题了,虽然样子都不怎么样,非常简单,但功能基本都满足日常需求。今天分享的让博客评论里的HTML代码无法编译,也算是我搜集到的小技巧之一。
你一定有这种烦恼,求助一些代码,网友好心在评论里留言给你,结果都解析了,非常蛋疼。我之前也考虑过这个问题,而且还问过博客圈几位牛人,他们虽然都跟我说了一下,但是我自己太笨,还是搞不定。我当时的想法就是把评论里的“<”、“>”转换成“<”、“>”,这样通过HTML编译,自动变成了“<”、“>”。但是我当时只想这用jQuery去转,不会PHP。后来看见的方法是用PHP,当然,网上全都是转载的,而且我复制过来还不对,所以继续Google,找到一国外人的代码,搞定了。不过不一定他是原作者。
在functions.php的PHP代码里加入:
//禁用wordpress评论html代码
// This will occur when the comment is posted
function plc_comment_post( $incoming_comment ) {
// convert everything in a comment to display literally
$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
$incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display ) {
// Put the single quotes back in
$comment_to_display = str_replace( ''', "'", $comment_to_display );
return $comment_to_display;
}
add_filter( 'preprocess_comment', 'plc_comment_post', '', 1);
add_filter( 'comment_text', 'plc_comment_display', '', 1);
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1);
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1);
效果可以在我博客评论里留言HTML代码便可以看见啦!这样下次大家给我留言HTML代码,就不怕被编译啦!
我来做个测试 ❗
<a href="https://ximan.org/">西门</a>
记录备份咯~
呃,这不叫编译啦……你这里做的操作叫做『HTML实体化』
其实这代码我也不懂什么意思。第一段写的编译是我想用jQuery的方法强转一下,不让HTML编译掉,嗯,就是这样,不懂PHP。
这个不错噢..特别是那些做主题的博客和技术博客。呵呵
Ray说的是正确的,跟编译拉不上什么关系,但是我也标记了一下,对于我这个正在写第一个WP主题的人,也有帮助的, 😎 。
核心函数 htmlspecialchars
这个html代码怎么这么复杂的
这个比较有用 收藏先
WP在评论里过滤HTML标签是考虑到安全性的问题,因为我们永远不能相信用户输入,注入式攻击就是这么来的。
不过用htmlspecialchars再转换回来看起来也挺安全的。
再不过,为了加强安全性,我还是不允许用户输入HTML了 ➡
注入攻击是SQL吧?和HTML有关吗?我还不知道呢,没研究这些。
俺也试试 <img src="http://www.gravatar.com/avatar/8c8d9931e5d1ba7537982f65fea8d805?s=35&d=&r=G" />
原来是这样啊……
这个我都没有太多的关注,毕竟我不是被it搞的人。
btw liao.it是你的站还是在你这里做广告的啊?
我的站。我博客不做商业广告的。
有那么多时间写博客么
<a href="http://jddylt.com" target="_blank">http://jddylt.com/</a>
无意看到这条评论,很明显我没有,那站已经放弃了 ❗
呵呵 我来看看你了啊
美女这么在乎我啊,哈哈
这个是一个很好的办法,给我的主题也用上去~
😮 直接剥去所有标签 strip_tags 🙄
那PHP我真不懂…
那么如果是这样的话,那还是让它可以编译吧。至少看到都是无法编译的代码,视觉效果上不好
我要的是别人提供的代码,我也好复制,编译了还怎么复制?我主要讲的是贴代码,和美观无关。
有点乱,还得仔细研究一下!
又学到的新技术了,哈哈哈
我来支持一下,不错
回去慢慢研究一下
借宝地测试下然后抄代码
<script>
alert();
</script>
请问怎么让评论运行自定义的简码啊。。。。愁死了
“自定义的简码”这是什么意思? ❓
就是在function.php 定义一个函数[mp3][/mp3]之类的….
我只写过MP3的短代码:https://ximan.org/69.html
更多短代码,请自行Google
饿…我知道怎么写,也可以在文章里使用,但就是不晓得怎么让它在评论里也能用….
额,有评论发图片的,有评论发字体样式的,还没见过谁需要评论发音乐的 ➡
不跟你瞎扯了。。。。jandan有个一日一歌
<li><a class="s" title="首页" href="http://www.m143.com"><span>首页</span></a></li>
<li class="page_item page-item-627"><a href="http://www.m143.com/about/"><span>关于博主</span></a></li>
<li class="page_item page-item-397"><a href="http://www.m143.com/web-seo-tes/"><span>网站seo检测</span></a></li>
<li class="page_item page-item-389"><a href="http://www.m143.com/aso/"><span>ASO优化</span></a></li>
<li class="page_item page-item-555"><a href="http://www.m143.com/webpm/"><span>web产品经理</span></a></li>你好
这个写法绕弯子了,其实就是转换为html实体,comment_text这个钩子用htmlspecialchars处理一下再return就行了
可否有更好的代码来处理html无法编译呢?
😐 😈 😆 试试!!!!!!!!!