如何使用 PHP 或 JavaScript 在网页正文中显示描述元标记的内容?
Posted
技术标签:
【中文标题】如何使用 PHP 或 JavaScript 在网页正文中显示描述元标记的内容?【英文标题】:How can I use either PHP or JavaScript to display the contents of the description meta tag in the body text of a web page? 【发布时间】:2021-01-02 19:39:07 【问题描述】:我的网站以包含元信息、页面标题和页脚的 class.page.php 构造函数/析构函数开始。
<?php
class page
private $title;
private $pageDescription;
public function __construct($title, $pageDescription)
$this->title = $title;
$this->pagedescription = $pageDescription;
<!DOCTYPE html>
<html lang="en">
<head>
<title>Page Title</title>
<meta name="description" content="My Page Description;">
// … etc …
function __destruct()
// … etc …
?>
每个页面都以这个 PHP 脚本开头,需要 class.page.php 并将该页面的标题和描述插入到头部。
<?php
require_once("inc/class.page.php");
// Insert title, page description.
$page = new page('My Page Title','My Page Description');
?>
我的目标是能够从元标记中插入描述内容……
<meta name="description" content="I want this also to show up between the h2 tags.">
…在正文中的h2
标签之间,即:
<h2>How do I insert the page description here?</h2>
我能够让页面标题显示在h1
标签之间,如下所示,但我无法弄清楚如何对元描述内容做类似的事情。
<h1 id="pagetitle"></h1>
<script>
document.getElementById('pagetitle').innerHTML = document.title;
</script>
我更愿意为此找到一个 PHP 解决方案(就此而言,对于页面标题也是如此)。但我也很乐意使用 javascript 来做到这一点。
【问题讨论】:
【参考方案1】:您可以使用meta[name=description]
选择器选择<meta name="description">
元素:
const content = document.querySelector('meta[name=description]').getAttribute('content');
document.getElementById('pagetitle').textContent = content;
<meta name="description" content="I want this also to show up between the h2 tags.">
<h1 id="pagetitle"></h1>
还记得在故意插入 HTML 标记时只使用innerHTML
- 如果您只想插入文本,请改用textContent
。 (innerHTML
不太合适,速度较慢,如果设置的内容不可信,可以允许任意代码执行)
【讨论】:
以上是关于如何使用 PHP 或 JavaScript 在网页正文中显示描述元标记的内容?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Javascript 或 Jquery 获取网页图标/ Apple 触摸图标和标题?
如何使用javascript从网页中获取点击或选择的文本? [复制]