我想使用PHP创建一个作业,它能够遍历字典并将其中的所有单词复制到我的数据库中。这是我唯一的要求。
As I asked here,我正在寻找一些可以完成这项工作的API。但我没有找到任何好的API,看起来像其他人没有。因此,唯一的可能性就是创建一个工作,例如,以某种方式得到某个网站的所有单词,如dict.cc或其他东西。
我怎么能开始建立这样的工作?我需要注意什么?为了这个目的,你对概念有任何意见或想法吗?
感谢您的投入!
答案 0 :(得分:1)
您可以使用PERL或curl脚本来编写数据。在http://www.duden.de词典网站中,使用以下简单的想法
http://www.duden.de/suchen/dudenonline/的字强>
用搜索词替换“ word ”这个词。例如,如果你想获得汽车这个词的含义,那么网址必须如下
http://www.duden.de/suchen/dudenonline/的车强>
因此,我们必须找到目标网址并划分数据。 Perl Script比curl更好。我不知道脚本..你只是谷歌它如何开发perl脚本来编写数据..
希望这些信息对你有用。
答案 1 :(得分:1)
为此,您可以创建一种dictionary
以下格式(例如):
sauna, stoombad|Sauna
fitnessruimte|Fitnessroom
air-conditioning, airconditioning|Air Conditioning
wifi, wlan, internet, adsl, internettoegang|Internet
open haard|Open fire
tv|Television
sat, sat-tv|Satelite
afwasmachine|Vaatwasser
magnetron, combimagnetron|Microwave
oven, mini-oven|Oven
kluis|Safe
koelkast, koel-/vriescombinatie|Frige
koffiemachine|Coffemachine
diepvriezer|Freezer
比您应该将file
更改为array
,将explode
更改为values
和main word
,例如:
foreach ($dictionary as $key => $value) {
list($values, $option) = explode('|', $value);
$values = explode(',', $values);
$dictionary[$key] = array('option' => trim($option), 'values' => $values);
}
使用以下方法检索所需的效果(您也可以使用array_walk()
并对每个项目应用单独的功能来执行相同的操作):
foreach ($dictionary[$key]['values'] as $index => $value)
$itemValues[$index] = '\b'.str_replace(array('/'), array('\/'), trim($value)).'\b'; // adding word boundary to each element and escaping slashes for regexp
使用读取值数组组成RegExp pattern
来搜索特定的单词集。
$pattern = '/'.implode('|', $itemValues).'/i'; // composing RegExpr pattern with case-insensitive option
使用此pattern
,您可以preg_match
任何文字。如果文本中存在任何单词,例如air-conditioning
或airconditioning
,preg_match
将返回true
,您将知道Air Conditioning
(词典中|
之后的字词)可用于文本。您针对文本对每个preg_match
项目执行此类dictionary
,因此您可以收集列出的单词。
您可以省略使用一组单词,并使用每行一次的单词和更详细的测试文本(每个单词的 )。
此技术非常适合用于提取或测试文本的存在一组词(或不同变体或语言中的一个词)和链接他们 一些广义字词或含义。