discuz自动隐藏部分内容
时间 : 2024-01-02 16:10:02 声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

最佳答案

下面是一个示例代码,可以实现在Discuz论坛中自动隐藏部分内容:

```php

<?php

define('IN_DISCUZ', true);

require_once './source/class/class_core.php';

$discuz = C::app();

$discuz->init();

// 检查用户是否登录

if (!$_G['uid']) {

echo '请先登录!';

exit;

}

$tid = intval($_GET['tid']);

$pid = intval($_GET['pid']);

// 检查帖子ID和回帖ID是否存在

if ($tid == 0 || $pid == 0) {

echo '无效的帖子ID或回帖ID!';

exit;

}

// 获取帖子信息和回复内容

$post = C::t('forum_post')->fetch('tid:'.$tid, $pid);

if (empty($post)) {

echo '帖子不存在!';

exit;

}

$message = $post['message'];

// 更新回帖内容,将指定内容隐藏

$newMessage = preg_replace('/\[hide\](.*?)\[\/hide\]/is', '<div class="hide-content">$1</div>', $message);

echo $newMessage;

上述代码会将 `[hide]内容[/hide]` 标签对包裹的内容替换为一个带有 `hide-content` 类的 `<div>` 元素,可以在CSS中设置这个类隐藏内容。这样,当用户登录且浏览帖子时,隐藏的内容会被展示出来。

注意:请将上述代码放在Discuz论坛的合适位置,并确保正确使用Discuz的核心类文件。还请根据你的实际需求进行适当的修改和细化。

其他答案

在 Discuz 论坛系统中,可以通过设置实现自动隐藏部分内容的功能。这一功能可以用于保护敏感信息或限制部分内容的可见性。下面将为您介绍如何在 Discuz 中实现自动隐藏部分内容。

首先,登录 Discuz 后台管理界面。在左侧导航菜单中找到并点击“插件”选项。然后在插件列表中找到“自动隐藏内容”插件,并点击“启用”按钮来启用此插件。

启用插件后,返回论坛前台界面。在需要自动隐藏的内容所在的帖子或页面中,可以使用特定的标签来实现隐藏和显示功能。这个标签是 `[hide]`。

要隐藏一段文字或内容,只需将需要隐藏的部分用 `[hide]` 标签包裹起来。比如,你要隐藏一段文字 "这是要隐藏的内容",则可以写成 `[hide]这是要隐藏的内容[/hide]`。

用户在浏览帖子或页面时,隐藏的内容将不可见,只有点击隐藏内容旁边的“显示”按钮后,才能看到隐藏的内容。

需要注意的是,只有注册用户登录后才能看到隐藏的内容。未登录的游客将无法看到隐藏的隐藏内容。

通过 Discuz 的自动隐藏内容功能,可以很好地保护敏感信息和限制部分内容的可见性。希望以上解释对您有所帮助。如有任何疑问,请随时与我们联系。