devvoh/simpledom

SimpleDom 使得在 PHP 中操作 DOM 变得更加简单

0.1.1 2017-12-30 23:00 UTC

This package is auto-updated.

Last update: 2024-09-15 02:52:25 UTC


README

Build Status Latest Stable Version Latest Unstable Version License

SimpleDom 为 DOMDocuments 和 DOMElements 添加简单的类操作。

要求

  • PHP 5.6+
  • Composer

安装

SimpleDom 可以通过使用 Composer 进行安装。只需运行

composer require devvoh/simpledom

用法

SimpleDom 可以被视为内置的 DOMDocumentDOMElement 类的封装适配器。因此,您可以在任何当前使用这些类的地方使用它们。

创建新实例需要额外的一步,但是

$domDocument = new \DOMDocument();
$domDocument->loadHTML($htmlString);

$document = \SimpleDom\Document::fromDOMDocument($domDocument);

然后获取所有具有 "header" 类的元素

$elements = $document->getElementsByClassName("header");

您将得到一个 \SimpleDom\Element 对象数组。SimpleDom 还重写了以下 DOMDocument 方法:getElementsByTagName()getElementById()createElement()

通常 getElement 方法会返回一个 DOMNodeList,但 SimpleDom 返回一个元素数组。

也可以获取具有多个类的元素。

$elements = $document->getElementsByClassNames(["header", "sub"]);

它将仅返回同时具有 "header" 和 "sub" 类的项。顺序不重要。

要获取 DOMDocument 以保存 HTML,只需这样做

$domDocument = $document->getDOMDocument();
echo $domDocument->saveHTML();

SimpleDom Element 实例还有一些附加功能。

$element = $document->createElement("span", "this is a span!");
$element->addClass("blue");

上述代码将产生以下 HTML:<span class="blue">这是一个 span!</span>

以下方法可用于处理类和元素

  • getClasses(): array
  • setClasses(array): Element
  • hasClass(string): bool
  • hasClasses(array): bool
  • addClass(string): Element
  • addClasses(array): Element
  • removeClass(string): Element
  • removeClasses(array): Element
  • toggleClass(string): Element
  • toggleClasses(array): Element
  • clearClasses(): Element

联系方式

所有问题都可以通过 github 提出询问。只需创建一个问题,我会尽快回复。

许可

Devvoh SimpleDom 是开源软件,许可协议为 MIT 许可。