diff --git a/app/common/tools/PostShow.php b/app/common/tools/PostShow.php new file mode 100644 index 0000000..9ee27d2 --- /dev/null +++ b/app/common/tools/PostShow.php @@ -0,0 +1,45 @@ + 版权声明:' . get_system_config('post_copyright') . ''; + + // 防采集版权声明,被采集了也不会在其他网站显示 + // 可以被选中复制,可以被采集,在网页中不会显示,在别的网站中也不会显示 + $content_copyright_hide = '

版权声明:' . get_system_config('post_copyright') . '

'; + + $dom_copyright = phpQuery::newDocumentHTML($content_copyright); + + $dom_copyright_hide = phpQuery::newDocumentHTML($content_copyright_hide); + + $dom_content = phpQuery::newDocumentHTML($content); + + // 找到子元素p + $p_list = $dom_content->children('p'); + + foreach ($p_list as $index_p => $dom_p) { + + if ($index_p != 0 && $index_p % 8 == 0) { + + // $dom_copyright->clone()->children()->insertAfter($dom_p); + } + if ($index_p != 0 && $index_p % 6 == 0) { + + $dom_copyright_hide->clone()->children()->insertAfter($dom_p); + } + } + + $content = $dom_content->html(); + + return $content; + } +} diff --git a/app/model/Post.php b/app/model/Post.php index 0f402c0..d39c1a3 100644 --- a/app/model/Post.php +++ b/app/model/Post.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace app\model; use app\common\model\Base; +use app\common\tools\PostShow; use think\facade\Cache; use think\facade\Request; use think\Model; @@ -151,6 +152,14 @@ class Post extends Base return trim($value); } + public function getContentHtmlShowAttr() + { + + $content = $this->getAttr('content_html'); + + return PostShow::handleCopyright($content); + } + public function getContentAttr($value) { return json_decode($value, true); diff --git a/composer.json b/composer.json index 6a3c0f6..b72f291 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,9 @@ "topthink/think-captcha": "^3.0", "topthink/think-multi-app": "^1.0", "ulthon/user_hub_client": "^1.0", - "thepixeldeveloper/sitemap": "^5.1" + "thepixeldeveloper/sitemap": "^5.1", + "jaeger/querylist": "^4.2", + "jaeger/phpquery-single": "^1.1" }, "require-dev": { "symfony/var-dumper": "^4.2" diff --git a/public/static/css/index.articles.css b/public/static/css/index.articles.css index 18c77eb..9aa180c 100644 --- a/public/static/css/index.articles.css +++ b/public/static/css/index.articles.css @@ -385,4 +385,15 @@ a.post-item:visited { .post-event-body img { max-width: 100%; +} + +.post-content-inner-copyright { + height : 0; + line-height : 0; + margin : 0; + padding : 0; + overflow : hidden; + margin-block-start: 0; + margin-block-end : 0; + position : absolute; } \ No newline at end of file diff --git a/view/index/post/read.html b/view/index/post/read.html index 0f90c03..d53991a 100644 --- a/view/index/post/read.html +++ b/view/index/post/read.html @@ -125,7 +125,7 @@ {/if}
- {$post->content_html|raw} + {$post->content_html_show|raw} {:\\app\\common\\tools\\PostBlock::copyright($post)}