我是 php 新手,我正在做一个需要翻译文本文件 (.txt) 的学校项目。所以我想用 translate.google.com 翻译,我有大约 600 个文本文件。手动执行此操作将需要很长时间。因此,出于这个原因,我尝试制作简单的 php 脚本,将文本发送到 translate.google.com 并检索翻译后的文本。
我注意到,当您在 translate.google.com 中输入文本并单击翻译时,该 URL 会变成“translate.google.com/#mk/en/This is a simple”。
我们可以看到 /#mk/en/ writen 语言 - 翻译的语言,然后是我输入的需要翻译的文本。
到目前为止,我知道我在做什么,但是翻译后的文本保存在另一个框中,在 id="result_box" 的 span 标签中,我不知道如何从那里获取翻译后的文本。
到目前为止,这是我的代码,我在如何取回翻译后的文本时遇到了麻烦。
<?php
include 'simple_html_dom.php';
$handle = @fopen("sample.txt", "r");
$text="";
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
$text=$text.$buffer;
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
$html="http://translate.google.com/#mk/en/$text";
echo $html;
$dom = new DOMDocument();
$dom->loadHTML($html);
$nodes = $dom->getElementsByTagName('span');
//Here I don't know what to do
foreach ($nodes as $node)
echo $node->nodeValue;
?>