Php 如何通过正则表达式收集HTML链接中的文本?
我得到了一个带有链接的字符串(作为无序列表(Php 如何通过正则表达式收集HTML链接中的文本?,php,html,regex,parsing,dom,Php,Html,Regex,Parsing,Dom,我得到了一个带有链接的字符串(作为无序列表()中的a-元素,以HTML格式)。如何使用正确的正则表达式来解析它 我需要得到这个值的数组: [ "Керамическая плитка", "Напольные покрытия" ] 基本HTML(示例): 多谢各位。非常感谢你的帮助 解析器是您应该使用的工具,而不是正则表达式。大概是这样的: <?php $links = '<li><a href="/plitka/">Керамич
)中的a
-元素,以HTML格式)。如何使用正确的正则表达式来解析它
我需要得到这个值的数组:
[
"Керамическая плитка",
"Напольные покрытия"
]
基本HTML(示例):
多谢各位。非常感谢你的帮助 解析器是您应该使用的工具,而不是正则表达式。大概是这样的:
<?php
$links = '<li><a href="/plitka/">Керамическая плитка</a></li>
<li><a href="/napolnye-pokrytiya/">Напольные покрытия</a></li>
<li><a href="/oboi/">Обои</a></li>
<li><a href="/mebel-dlia-vannoi/">Мебель для ванной</a></li>
<li><a href="/santehnika/">Сантехника</a></li>';
$dom = new domdocument();
$dom->loadhtml('<?xml encoding="utf-8" ?>' . $links);
$links = $dom->getelementsbytagname('a');
foreach($links as $link) {
echo $link->nodeValue . PHP_EOL;
}
欢迎来到堆栈溢出。请阅读关于如何提供一个你可能也会受益于和嗨,欢迎堆栈溢出。请你修改一下你的问题,澄清一下好吗。请包括您的相关PHP代码,并澄清(如果代码没有)您正在解析的确切内容。另外,请解释为什么css是相关的或删除该标记。谢谢。您是否正在尝试获取每个
将为您提供的的值?解析它们的目的是什么?当涉及到你真正想问的问题时,你需要明确。只是一个便条。如果需要解析HTML。我不能使用解析器工具,它不是php内置的。所以我写正则表达式的目的是什么?我该怎么做?@StephanGolubev您使用的是什么PHP版本domdocument
应该在那里,对不起,我会检查一下。@user3783243-domdocument依赖于默认情况下在许多系统上没有安装/启用的xml扩展。例如,我认为您通常需要在Ubuntu上手动安装它。@StephanGolubev-为什么您不能安装/启用xml扩展?你基本上是说你不能使用合适的工具来完成工作。
<?php
$links = '<li><a href="/plitka/">Керамическая плитка</a></li>
<li><a href="/napolnye-pokrytiya/">Напольные покрытия</a></li>
<li><a href="/oboi/">Обои</a></li>
<li><a href="/mebel-dlia-vannoi/">Мебель для ванной</a></li>
<li><a href="/santehnika/">Сантехника</a></li>';
$dom = new domdocument();
$dom->loadhtml('<?xml encoding="utf-8" ?>' . $links);
$links = $dom->getelementsbytagname('a');
foreach($links as $link) {
echo $link->nodeValue . PHP_EOL;
}