2

我是 PHP 新手,我想知道是否可以访问 HTML 中的 ID 并进行一些编辑?

在我的 html 文件中,我有这个:

<div id="Msg" class="message"></div>

通常我会使用以下内容在javascript中编辑客户端的文本:

document.getElementById('Msg').innerHTML = '<font color="red">Some text...</font>';

可以在服务器端使用 PHP 完成类似的操作吗?我想在渲染页面之前更改元素。如果是这样,我应该使用什么来访问 ID 和编辑元素?

4

4 回答 4

2

您可以使用 PHP DOM 扩展。

请参阅有关扩展或直接链接getElementById的文档

但是,它是后端处理。

于 2012-12-07T01:11:17.817 回答
1

如果您的意思是在用户浏览器中呈现 HTML 后通过 PHP 更改 HTML,则无法完成。

  1. PHP 是服务器端的,这意味着它运行在不同于用户的机器上。

  2. Javascript 和 HTML 是客户端的,这意味着它们在用户的机器上运行。

  3. 服务器不应该控制用户机器上的任何东西。

因此,无法从 PHP 访问 ID。:)

您必须坚持使用仅在客户端运行的 Javascript。

如果您想在发送给客户端之前更改 HTML 结构,可以使用 DOM,正如@DmitryBergstein 在他的回答中指出的那样。

如果您需要在页面呈现后访问服务器上的某些内容,则需要发出ajax 请求,然后在请求返回一些数据后使用 Javascript 更改 DOM。

于 2012-12-07T01:10:42.763 回答
1

PHP 在将其发送到客户端之前生成 HTML 。

您需要找出在 PHP 中生成此 HTML 的位置。

于 2012-12-07T01:16:51.603 回答
1

如果您真的想在页面完全加载后使用 PHP 更新 innerHTML 内容,您应该有一个返回更新值的 php 脚本。然后,您调用此脚本并根据响应更新您的页面。它可以通过 ajax 调用很好地完成。

于 2012-12-07T01:19:34.050 回答