<p class="quote"><span class="q1"></span>shalal 发表于 2013-07-21 15:03:19 22222222222222222222222222222222222 <span class="q2"></span></p> 55464上面是一段HTML代码,如何使用PHP 分别提取其中的“
shalal”
以及
22222222222222222222222222222222222和
55464,请教大家,最好帮我写成一个函数!~
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您好!要使用PHP从HTML代码中提取特定内容,可以使用DOM解析方法。下面是一个简单的示例函数,展示了如何分别提取您提供的HTML片段中的文本内容和数字:
<?php
function extractContent($html) {
$dom = new DOMDocument();
// 载入HTML并启用libxml错误处理以便于加载不规范的HTML
libxml_use_internal_errors(true);
$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
// 获取所有的文本节点
$xpath = new DOMXPath($dom);
$textNodes = $xpath->query('//text()');
// 提取并拼接所有文本内容
$textContent = '';
foreach ($textNodes as $node) {
$textContent .= trim($node->nodeValue);
}
// 分割提取的内容以获取所需的部分
$parts = explode("\n", $textContent);
$part1 = trim($parts[0]); // "shalal"
$part2 = trim($parts[1]); // "22222222222222222222222222222222222"
$part3 = trim($parts[2]); // "55464"
return array($part1, $part2, $part3);
}
$html = 'shalal<br>22222222222222222222222222222222222<br>55464';
list($extracted1, $extracted2, $extracted3) = extractContent($html);
echo "Part 1: " . $extracted1 . "\n";
echo "Part 2: " . $extracted2 . "\n";
echo "Part 3: " . $extracted3 . "\n";
?>
这个函数首先使用DOMDocument
和DOMXPath
来解析HTML字符串,然后通过XPath查询所有的文本节点,并将它们合并成一个字符串。最后,它通过分割合并后的字符串来提取出您需要的三个部分。
请注意,这种方法假设您的HTML结构较为简单,且所需的文本是连续出现的。对于更复杂的HTML结构,可能需要调整XPath查询或处理逻辑。