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

You can use PHP DOM Extension.

See documentation on extension or direct link getElementById

But, it's backend processing.

于 2012-12-07T01:11:17.817 に答える
1

ページが完全にロードされた後で本当にinnerHTMLコンテンツをPHPで更新したい場合は、更新された値を返すphpスクリプトが必要です。次に、このスクリプトを呼び出し、応答に従ってページを更新します。これは、ajax呼び出しでうまく実行できます。

于 2012-12-07T01:19:34.050 に答える
1

HTML がユーザーのブラウザにレンダリングされた後で、PHP を介して HTML を変更することを意味する場合、それはできません。

  1. PHP はサーバー側です。つまり、ユーザーとは別のマシンで実行されます。

  2. Javascript と HTML はクライアント側です。つまり、ユーザーのマシンで実行されます。

  3. サーバーは、ユーザーのマシン上の何も制御できません。

したがって、PHP から ID にアクセスすることはできません。:)

クライアント側でのみ実行される Javascript に固執する必要があります。

クライアントに送信する前に HTML 構造を変更したい場合は、@DmitryBergstein が回答で指摘しているように、DOM を使用して変更できます。

ページがレンダリングされた後にサーバー上の何かにアクセスする必要がある場合は、ajax リクエストを作成し、リクエストがデータを返した後に Javascript を使用して DOM を変更する必要があります。

于 2012-12-07T01:10:42.763 に答える
1

PHPは、クライアントに送信する前にHTML を生成します。

この HTML が生成されている PHP の場所を特定する必要があります。

于 2012-12-07T01:16:51.603 に答える