将<正文>标记替换为另一个标记


Replace <body> tag with another tag

我正在尝试使用以下代码将页面中的<body>标签替换为<body id="khanqah">

echo str_replace("%body%", "khanqah", "<body id='%body%'>");

它确实会向页面添加<body id="khanqah">,但实际的<body>标记仍然存在。我的意思是现在有两个身体标签,一个是<body>,另一个是<body id="khanqah">

此外,<body id="khanqah">标签也添加到页面顶部,请参阅以下内容:https://i.stack.imgur.com/LOKR1.jpg(页面源代码截图)

有什么方法可以解决吗?

它并没有真正替换HTML中的任何内容,它只是echoing str_replace("%body%", "khanqah", "<body id='%body%'>")的返回值,恰好是字符串<body id="khanqah">

只有当你用PHP

输出HTML时,你才能用PHP替换HTML的body元素(在输出之前更改它)。PHP 在服务器端工作,因此一旦 HTML 到达客户端,它就无法修改它。

您可以使用客户端工作的 JavaScript 来执行此操作。


要使用 jQuery 动态更改正文的 id(这是最简单的方法),您可以

$('body').attr('id', 'khanqah');