我正在尝试使用以下代码将页面中的<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">
。
输出HTML时,你才能用PHP替换HTML的body
元素(在输出之前更改它)。PHP 在服务器端工作,因此一旦 HTML 到达客户端,它就无法修改它。
您可以使用客户端工作的 JavaScript 来执行此操作。
要使用 jQuery 动态更改正文的 id(这是最简单的方法),您可以
$('body').attr('id', 'khanqah');