我是php的新手,我正在研究一个需要翻译文本文件(.txt)的学校项目。所以我想尝试翻译translate.google.com,我有大约600个文本文件。手动执行此操作需要很长时间。因此,我试图制作简单的PHP脚本,将文本发送到translate.google.com并检索翻译后的文本。
我注意到,当您在translate.google.com中输入文字并点击翻译时,网址就会变为“translate.google.com/#mk/en/这很简单”。
我们可以看到/#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;
?>
<?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;
?>
答案 0 :(得分:0)
将文本文件放入网站,然后使用谷歌翻译将其翻转为斯瓦希里语或其他任何内容。右键单击页面并进行操作。刚刚完成......它有效。