russsiq/laravel-dom-manipulator

Laravel 9.x 中 DOM 模块的包装类。

0.2.0 2022-04-22 01:03 UTC

README

连接

要在 Laravel 项目中添加依赖,请使用 Composer 包管理器

composer require russsiq/laravel-dom-manipulator

如果您的应用程序在 composer.json 文件的 extra 部分 dont-discover 指令中启用了包检测,则需要自行在 config/app.php 文件中添加以下内容

  • 服务提供者在 providers 部分
Russsiq\DomManipulator\ManipulatorServiceProvider::class,
  • 类别名(门面)在 aliases 部分
'DOMManipulator' => Russsiq\DomManipulator\Facades\DOMManipulator::class,

使用方法

方法

所有公共方法都通过 DOMManipulator 门面访问

DOMManipulator::someMethod(example $someParam);

DOMManipulator 门面可用的公共方法列表

each(string $name, callable $callback): self

对每个具有指定名称的节点执行闭包。

extractImages(): array

提取图像路径数组。

getContent(): string

获取当前文档的字符串表示形式。

remove(string $name): self

删除所有包含传入名称的标签。

revisionPreTag(): self

调整 pre 标签

  • 为所有标签保留单个类;
  • 将标签值转换为 HTML 实体。

使用示例

要初始化包装类 Manipulator,您可以使用 DOMManipulator 门面的 wrapAsDocument 方法。

use Russsiq\DomManipulator\Facades\DOMManipulator;

// Предположим некое содержимое.
$content = '<h2>Velit rerum aut adipisci eius et est deserunt et et error</h2>'.PHP_EOL;
$content .= '<p>Dolore quidem <strong>dolorem</strong> ratione aut similique qui.</p>'.PHP_EOL;
$content .= '<pre>$manipulator = $this->createManipulator();</pre>'.PHP_EOL;
$content .= '<script>alert("Hello!");</script>'.PHP_EOL;

// Обернем содержимое как HTML-документ.
$result = DOMManipulator::wrapAsDocument($content)
    // Скорректируем теги `pre`.
    ->revisionPreTag()
    // Удалим нежелательные теги с их значениями.
    ->remove('script');

// Распечатаем результат.
print_r((string) $result);

// <h2>Velit rerum aut adipisci eius et est deserunt et et error</h2>
// <p>Dolore quidem <strong>dolorem</strong> ratione aut similique qui.</p>
// <pre class="ql-syntax" spellcheck="false">$manipulator = $this-&gt;createManipulator();</pre>

测试

要运行测试,请使用以下命令

composer run-script test

要运行测试并生成 HTML 格式的 agile 文档(存储在 tests/testdox.html 中),请使用以下命令

composer run-script testdox

删除包

要从 Laravel 项目中删除包,请使用以下命令

composer remove russsiq/laravel-dom-manipulator

许可证

laravel-dom-manipulator 是开源软件,根据 MIT 许可证发布。