russsiq / laravel-dom-manipulator
Laravel 9.x 中 DOM 模块的包装类。
0.2.0
2022-04-22 01:03 UTC
Requires
- php: 8.1.*
- ext-dom: *
- ext-libxml: *
- illuminate/support: 9.*
Requires (Dev)
- mockery/mockery: ^1.5.0
- phpunit/phpunit: ^9.5.20
This package is auto-updated.
Last update: 2024-09-29 15:18: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->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 许可证发布。