PHP搜索ID的内容并添加Class

时间:2011-06-10 12:21:43

标签: php wordpress search

我需要一个简单的函数来搜索我的wordpress内容以获取特定的ID,然后将一个类添加到ID所在的同一元素中。

它用于通过短代码显示自己的视频播放器插件。我的问题是插件为每个元素提供了如下ID id="video-1-player", id="video-2-player"。因此,该函数需要搜索id="video-(any number)-player"的内容,而不是在那里插入一个类。

谢谢!

修改

这是对我有用的答案。

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

1 个答案:

答案 0 :(得分: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>

请注意,上面的代码不会首先检查元素上是否已存在class属性。您应该执行该检查,以免丢失可能已经存在于该元素上的任何预先存在的类。