私は PHP が初めてで、テキスト ファイル (.txt) を翻訳する必要がある学校のプロジェクトに取り組んでいます。それで、translate.google.com で翻訳しようとしていますが、約 600 個のテキスト ファイルがあります。それを手動で行うと、長い時間がかかります。そのため、translate.google.com にテキストを送信し、翻訳されたテキストを取得する単純な php スクリプトを作成しようとしました。
translate.google.com にテキストを入力して [翻訳] をクリックすると、URL が "translate.google.com/#mk/en/This is a simple" に変わることに気付きました。
/#mk/en/ writen languages (翻訳された言語) が表示され、その後に、入力した翻訳が必要なテキストが続きます。
この時点で、自分が何をしているのかはわかっていますが、翻訳されたテキストは別のボックスの id="result_box" のスパンタグに保持されており、そこから翻訳されたテキストを取得する方法がわかりません。
これはこれまでの私のコードであり、翻訳されたテキストを取り戻す方法に問題があります。
<?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;
?>