我需要一个简单的函数来搜索我的wordpress内容以获取特定的ID,然后将一个类添加到ID所在的同一元素中。
它用于通过短代码显示自己的视频播放器插件。我的问题是插件为每个元素提供了如下ID id="video-1-player", id="video-2-player"
。因此,该函数需要搜索id="video-(any number)-player"
的内容,而不是在那里插入一个类。
谢谢!
修改
这是对我有用的答案。
答案 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属性。您应该执行该检查,以免丢失可能已经存在于该元素上的任何预先存在的类。