【发布时间】:2009-10-02 08:12:31
【问题描述】:
如何从 HTML 文件中提取所有文本
我想提取所有文本,在alt属性、
标签等中。
但是我不想提取样式和脚本标签之间的文本
谢谢
现在我有以下代码
<?PHP
$string = trim(clean(strtolower(strip_tags($html_content))));
$arr = explode(" ", $string);
$count = array_count_values($arr);
foreach($count as $value => $freq) {
echo trim ($value)."---".$freq."<br>";
}
function clean($in){
return preg_replace("/[^a-z]+/i", " ", $in);
}
?>
这很好用,但它会检索我不想检索的脚本和样式标签 另一个问题我不确定它是否会检索像 alt 这样的属性 - 因为 strip_tags 函数可能会删除所有 HTML 标签及其属性
谢谢
【问题讨论】:
-
使用正则表达式查找您的内容,而不是使用它进行清理。
-
您是否有要从中提取文本的标签和属性的“白名单”或不想从中提取文本的标签/属性的“黑名单”?
-
@Ghommey:谢谢,我正在努力,但对我来说太难了
-
@VolkerK:我不是全部,但我已经提到了其中一些,-黑白名单-我的目标是创建一个搜索引擎,所以我想提取文档中的所有文本让我的搜索引擎搜索文本
标签: php html regex parsing html-content-extraction