mensbeam/microformats

一个微格式解析器

0.1.1 2023-06-28 19:59 UTC

This package is auto-updated.

Last update: 2024-09-27 19:02:19 UTC


README

一个通用的微格式解析器,适用于PHP。虽然它与php-mf2相似,但它结合了一个更准确的HTML解析器以及更一致的性能特征,并且被认为具有更少的错误。

用法

提供了从HTTP URL、文件、字符串以及HTML元素(一个\DOMElement对象)解析的功能,以及将数据序列化为JSON的功能。为每个任务提供了一个MensBeam\Microformats类的静态方法。

解析方法都返回一个作为数组的Microformats结构。在Microformats维基百科中包含了一些JSON格式的示例结构。

从URL解析

\MensBeam\Microformats::fromUrl(string $url, array $options = []): ?array

$url参数是一个指向HTML资源的HTTP(S) URL;如果需要,将遵循重定向。如果无法获取资源,将返回null

$options参数是Microformats解析器的选项列表。下面有详细信息。

从文件解析

\MensBeam\Microformats::fromFile(string $file, string $contentType, string $url, array $options = []): ?array

$file参数是本地文件的路径。如果无法打开文件进行读取,将返回null

$contentType参数是一个包含文件HTTP Content-Type头值的字符串,如果已知。这可能用于向HTML解析器提供字符编码信息。

$url参数是一个包含文件有效URL的字符串。这用于解析输入中的任何相对URL。

$options参数是Microformats解析器的选项列表。下面有详细信息。

从字符串解析

\MensBeam\Microformats::fromString(string $input, string $contentType, string $url, array $options = []): array

$input参数是要解析微格式的字符串。

$contentType参数是一个包含字符串HTTP Content-Type头值的字符串,如果已知。这可能用于向HTML解析器提供字符编码信息。

$url参数是一个包含字符串有效URL的字符串。这用于解析输入中的任何相对URL。

$options参数是Microformats解析器的选项列表。下面有详细信息。

从HTML元素解析

\MensBeam\Microformats::fromHtmlElement(\DOMElement $input, string $url, array $options = []): array

$input参数是要解析微格式的元素。通常这将是documentElement,但任何元素都可以被解析。

$url参数是一个包含字符串有效URL的字符串。这用于解析输入中的任何相对URL。

$options参数是Microformats解析器的选项列表。下面有详细信息。

序列化为JSON

\MensBeam\Microformats::toJson(array $data, int $flags = 0, int $depth = 512): string

由于Microformats数据表示为嵌套数组的结构,其中一些是关联的(在JSON术语中称为“对象”)且可能为空,因此在将它们序列化为JSON之前,有必要将这些空数组转换为PHP stdClass对象。此方法在将结果传递给json_encode函数之前执行这些转换。其参数与json_encode相同。

选项

解析方法都可选地接受一个$options数组作为参数。这些选项都是标志,用于实验性功能,或者用于不再默认使用的向后兼容功能。选项如下所示: