我正在尝试使用这个函数从html中提取文本以进行多个步骤,但我无法弄清楚如何形成循环形式。
这是任务。我有这个数组
$arr = array("<div>" => "</div>", "<p>" => "</p>", "<h3>" => "</h3>");
现有的工作函数cut($a, $b, $c)
,在这种情况下获取其中的内容$a = "<div>", $b="</div>" and $c = the html
。
我想做的是做到这一点:
虽然我知道我可以使用foreach来获得结果并应用第二步,但我无法概括这一点。
修改
我有一个名为cut
的现有功能,如上所述。我想创建一个名为cutlayer($arr, $html)
的新函数,其中$ arr是从上面开始的。我需要cutlayer函数来使用cut函数并执行上面提到的以下步骤,但我无法弄清楚如何做到这一点。
由于
答案 0 :(得分:3)
省去麻烦并使用专为解析HTML而设计的工具包。 PHP DOMDocument
用于完成这些任务。
$dom = new DOMDocument();
$dom->loadHTML($yourHTML);
$divs = $dom->getElementsByTagName("div");
// Get the inner contents of all divs, for example
foreach ($divs as $div) {
echo $div->nodeValue;
}
除非这是家庭作业,否则你被指示使用你的阵列匹配方法......