php - 从文本中提取规范列表(未知格式)
问题描述
如何从格式未知的产品描述中提取规范(有时是无序列表,有时是 br 元素等),但它在前面看起来总是一样的。
视觉是这样的:
一些描述文字,有时是一个句子,有时更多..
== 有时这里是空行,有时不是 ==
- 规格项目1
- 规格项目2
有没有办法在PHP中提取“通过它的视觉”?
例子:
<h2> desc <br>
<br>
> <strong> T Shirt</strong><br>
> Breathable mesh fabric<br>
> Reflective detail<br>
> Flat lock seams <br>
解决方案
您可以尝试过滤您的条目。我已经设法将您的示例放入数组中。这将是一个与结果有点争论的情况:
<?php
$html =<<<HTML
<h2> desc </h2>
<br>
> <strong> T Shirt</strong><br>
> Breathable mesh fabric<br>
> Reflective detail<br>
> Flat lock seams <br>
HTML;
$no_html = strip_tags($html);
$no_entities = preg_replace('/&#?[a-z0-9]+;/i', '', $no_html);
$parts = preg_split('/\R/', $no_entities);
$trimmed_parts = array_map('trim', $parts);
var_export($trimmed_parts);
输出:
array (
0 => 'desc',
1 => '',
2 => 'T Shirt',
3 => 'Breathable mesh fabric',
4 => 'Reflective detail',
5 => 'Flat lock seams',
)
推荐阅读
- docker - 在容器优化操作系统中以 JSON 形式注入日志
- c++ - 如何检查模板中发送的参数类型?
- python - 如何在 dm-script 中将 ImageDocument 设置为不脏
- laravel - Laravel 7 Api 不完整?
- android - 设置填充不会更新视图
- node.js - 尝试代理请求时出错 (ECONNREFUSED)
- python - 根据条件语句返回嵌套函数中的各种变量
- elasticsearch - Kibana KQL 可视化过滤器 - 排除列表字段的一个值
- rust - 是否有一个范围表达式可用于引用切片的最后 N 个元素?
- javascript - Botframework/Botbuilder-js - 发送 HTTP 请求