typecho文章中链接跳转到中转页面
8个月前 > 有的时候想要文章中链接地址点击后跳转到一个中转页面,可以通过下面...
为什么要过滤侧边栏评论内容?
例如:你的模板中有个私密功能,有网友使用该功能后侧边栏去能看见私密的内容这就非常不符合私密这个功能。这时候就需要通过过滤去掉相关部分内容。
理论上来说可以通过插件的接口进行过滤操作,由于本人懒就没有找这方面的代码。
/**
* @description: 获取文章摘要
* @param {*} $that 文章对象
* @param {*} $maxLength 最大长度
* @param {*} $a 是否开启表情解析
* @param {*} $b 是否开启过滤模式
* @param {*} $c 判断开启那种模式过滤
* @Date: 2023-03-25 00:12:20
* @Author: mulingyuer
*/
function getArticleSummary($that, $maxLength = 120,$a = true,$b = false,$c = true)
{
//不建议在这里使用短代码解析,否者后面截取的内容会出现各种问题
$content = $that->content;
$abstract = Typecho_Common::fixHtml(Typecho_Common::subStr($content, 0, $maxLength, "..."));
if (empty($abstract)) {
$abstract = '';
}
$abstract = preg_replace('/<(.+?)>(.+?)<\/(.+?)>/',"$2", $abstract);
$abstract = preg_replace('/<(.+?)>(.+?)/',"$2", $abstract);
if ($a === true){
//注意这里是解析表情操作,如果要使用需要自行替换成相关模板中代码
$abstract = self::biaoqing(htmlspecialchars($abstract));
}else{
$abstract = htmlspecialchars($abstract);
}
//判断是否启用过滤模式
if ($b === true){
//过滤评论ubb代码,反之过滤文章ubb代码
if ($c === true){
//关于下面如果要做多重判断,由于有点时候所截取的内容中短代码标签不完整,所以遇到短代码不完整的情况宁愿错误过滤,也不要放过。
if (strpos($abstract, '{secret') !== false) {
if (strpos($abstract, '{/secret') !== false) {
$abstract = preg_replace("/{secret}(.+?){\/secret}/sm",'嘿嘿,这是一条私密评论。',$abstract);
}else{
$abstract = preg_replace("/{secret}(.*)/sm",'嘿嘿,这是一条私密评论。',$abstract);
}
}
}
}
return $abstract;
}
侧边栏评论使用方法
<?php \Widget\Comments\Recent::alloc()->to($comments); ?>
<?php while ($comments->next()): ?>
<a href="<?php $comments->permalink(); ?>" class="lq-sideA lq-txt-ellipsis"><?php echo getArticleSummary($comments,35,true,true); ?>
</a>
<?php endwhile; ?>#免责声明#
本文为转载 或 原创内容,未经授权禁止转载、摘编、复制及镜像使用、转载请注明作者、出处及原文链接、违者将依法追究责任。

8个月前 > 有的时候想要文章中链接地址点击后跳转到一个中转页面,可以通过下面...

5个月前 # Equipment 类详细使用方法 ## 类概述 `Equipment` 类是玩家装备系统的核心组...

7个月前 近期有网友反映开启pjax无刷新功能后,在文章评论区域的退出功能会发生失...

8个月前 前几天就准备重新设计一下轻博客的权限功能,最初的权限功能已经不能满...

7个月前 PHP超全局变量不同使用方法的差异有多大?,列如下面的代码案例,各位网...

8个月前 说起我的磨至今也有二十几年,很久没有人管理了,现在虽然偶尔还能访问...