oliver-noth/
markup-check
通过URL获取HTML标记或直接提供标记,解析并检查其中特定的标签。
Requires
- php: ^8.0
Requires (Dev)
- behat/behat: ^3.6
- phpunit/phpunit: ^9
README
MarkupCheck 是一个 composer 包,它解析并检查由URL获取或直接提供的HTML标记中的特定标签。
目录
入门
要求
- 您的本地机器必须运行至少PHP 8.0
- 请确保已安装 composer
安装
使用 composer 下载并安装 MarkupCheck。
您可以将 MarkupCheck 添加为项目的本地依赖项
$ composer require oliver-noth/markupcheck
如果您只在开发期间需要 MarkupCheck,则应将其添加为开发时间依赖项
$ composer require --dev oliver-noth/markupcheck
使用
基本
首先实例化一个新的 markup 检查器
$factory = new \OliverNoth\MarkupCheck\Main\Factory();
$markupChecker = $factory->createHtmlMarkupChecker('https://getcomposer.org.cn/');
然后获取解析的标签
$parsedTags = $markupChecker->getParsedTags();
或者将它们作为 json 渲染
$markupChecker->renderParsedTagsAsJson();
exit;
解析的标签将以数组形式提供(以下是一个示例)
[
'headings' => [
'notes' => [
'Markup contains exactly 1 first heading (h1 tag).',
],
'tags' => [
0 => [
'name' => 'h1',
'rank' => 1,
'value' => 'First headline',
'attributes' => [
'class' => 'article',
],
],
],
],
'anchors' => [
'notes' => [
'All anchors are linked correctly.',
],
'tags' => [
0 => [
'name' => 'a',
'value' => 'Get your example here',
'attributes' => [
'href' => 'https://www.example.com',
'target' => '_blank',
'class' => 'cta',
],
],
],
],
'images' => [
'notes' => [
'All images seem to have either an alt attribute or a title attribute.',
],
'tags' => [
0 => [
'name' => 'img',
'attributes' => [
'src' => 'https://www.example.com/image_01.jpg',
'alt' => 'Image 01',
'class' => 'slider',
],
],
],
],
];
进一步
请参阅 example/basic-usage.php
以了解如何渲染解析的标签。
Docker
使用 ddev 在您的本地机器上设置一个 docker 容器。
先决条件
设置
使用 Homebrew/Linuxbrew 推荐的方法安装 ddev
$ brew tap drud/ddev && brew install ddev
创建并进入您的项目目录(根据您的需要替换文件夹名 `<PATH-TO-YOUR-PROJECT-DIRECTORY>/my-project
`)
$ mkdir -p <PATH-TO-YOUR-PROJECT-DIRECTORY>/my-project
$ cd <PATH-TO-YOUR-PROJECT-DIRECTORY>/my-project
创建一个新的Docker容器
配置 ddev Docker 容器(根据您的需要替换项目名称 my-project
)
$ ddev config --project-name=my-project --project-type=php --php-version=8.0 --docroot="" --create-docroot --disable-settings-management --http-port=8088 --https-port=44388
创建配置容器并将 composer 包克隆到其中
重要提示:最终出现的提示 `Warning: ALL EXISTING CONTENT of the project root (~/my-project) will be deleted`
必须回答 'yes'
$ ddev composer create oliver-noth/markup-check
在创建的容器的文档根目录中创建 index.php
$ ddev exec chmod 755 example/write-index.sh && ddev exec ./example/write-index.sh
最后启动创建的容器
$ ddev start
启动容器后,您的项目可以通过 `http://my-project.ddev.site:8088`
访问.<br> 注意:子域名
my-project` 应替换为您之前选择的项目名称。
单元测试
此包已完全进行单元测试。您可以在创建的容器中运行它们
$ ddev exec vendor/bin/phpunit
显示代码覆盖率摘要需要启用代码覆盖率驱动程序。使用 xdebug,检查它并获取摘要
$ ddev xdebug
$ ddev xdebug status
$ ddev exec vendor/bin/phpunit --coverage-text
注意:尽管代码覆盖率达到了 100%,但容器可能显示较小的覆盖率。
在您的本地机器上运行它(假设在项目目录中安装了代码覆盖率驱动程序,如 xdebug)应该显示 100%。正在修复中...
$ vendor/bin/phpunit --coverage-text
深入挖掘
例如,可以通过进入容器来管理充当此类角色的容器的 Web 服务器行为。
$ ddev ssh
更多内容:完整文档可在此处找到 ddev.readthedocs.io