<?php
$html = file_get_contents('http://hypermedia.ids-mannheim.de/');
?>这段代码以字符串形式向我返回网站的html。如何将字符串拆分成不同的单词?在获得数组中的单个单词后,我希望检测哪个单词是德语的……
发布于 2011-04-05 17:17:23
$words = explode(' ', strip_tags($html));或
$words = preg_split("/[\s,]+/", strip_tags($html));第二种方法不仅将空格字符作为分隔符,还将制表符和逗号作为分隔符。
发布于 2011-04-05 17:17:21
使用正则表达式,就像这样
#([\w]+)#i代码示例:
if(preg_match_all('#([\w]+)\b#i', $text, $matches)) {
foreach($matches[1] as $key => $word) {
echo $word."\n";
}
}然后,你必须将它们与某种字典进行比较。
发布于 2011-04-05 17:22:28
我认为你需要将你的问题分成几个步骤。首先解析返回的html字符串,找出哪个部分是html标记和结构。您可以使用DOM来实现此目的。
然后,您可以将innerHTML数据从标记中分离出来,并将innerHTML文本拆分为标记以获得一个数组。不知道最好的方法,但一个简单的数组正则表达式拆分就可以完成这项工作。
查找德语单词的有趣之处在于,可以将单词列表与字典进行匹配,也可以使用数组或映射。或者,更好的方法是使用DB (SQLlite可能比MySQL等真正的关系型数据库管理系统更好)。
https://stackoverflow.com/questions/5549659
复制相似问题