2011-06-10 5 views
1

を追加します。PHP検索内容と私は特定のIDのための私のワードプレスのコンテンツを検索し、IDがである同じ要素にクラスを追加よりますシンプルな機能を必要とするクラス

そのビデオプレーヤーのためにショートコードで自分自身を表示するプラグイン。私の問題は、プラグインが各要素に次のようなIDを与えることです。​​したがって、関数はid="video-(any number)-player"のコンテンツを検索し、そこにクラスを挿入する必要があります。

ありがとうございました!

EDIT

私にはうまくいった答えがあります。

https://stackoverflow.com/a/6180884/278629

+0

ページをレンダリングするときに必要ですか?それとも、IDを照合するクラスをDBに追加したいのですか? –

+0

私はページではなくDBに必要です。 – cnotethegr8

+0

idsを参照するのではなく、クラスを持つ必要があるのはなぜですか?ビデオプレイヤーの権利であるPHPソースコードを編集できない場合は、下記のようなjqueryを使用する必要があります。 – Dave

答えて

1

オブジェクトとしてドキュメントを表現するためにDOMDocumentクラスを使用します。あなたが探しているIDを照会し、その上にクラスを追加します。そこからHTMLを吐き出すことができます。

簡単な例:また

// HTML to be handled (could very well be read in) 
$html = "<!DOCTYPE html><html><body><p id='foo'>Foo</p></body></html>"; 

// Create and load our DOMDocument object 
$doc = new DOMDocument(); 
$doc->loadHTML($html); 

// Find and manipulate our paragraph 
$foo = $doc->getElementById("foo"); 
$foo->setAttribute("class", "bar"); 

// Return the entire document HTML 
echo $doc->saveHTML(); 

、あなただけの影響を受けた要素のHTMLを望んでいた場合:

echo $doc->saveHTML($foo); 

生成されたHTMLは、次のとおりです。

<!DOCTYPE html> 
<html> 
    <body> 
     <p id="foo" class="bar">Foo</p> 
    </body> 
</html> 

なお、上記コードは、クラス属性がすでに要素に存在するかどうかを最初にチェックしません。すでに要素に存在する可能性のある既存のクラスを失わないようにチェックを実行する必要があります。

+1

私は私のために働く答えで私の質問を編集しました。あなたのものもうまくいくように見えるので、あまりにもそれをあげてください。とにかく、ありがとう – cnotethegr8

関連する問題