私はこのコードを持っています:
$xpath = new DOMXPath($dom);
foreach ($xpath->query("//text()") as $q) {
foreach(preg_split("/(\r?\n)/", $q->nodeValue) as $line) {
$str = trim($line);
$translation = search_in_db_for_translation($str);
if (!empty($translation) {
replace string previously found by $translation
}
}
}
スクリプトは XML ドキュメント内で各文字列を検索し、データベースに利用可能な翻訳 ({"input language string", "input language string"} のペア) がある場合は、DOM ドキュメント内の文字列を置き換える必要があります (この翻訳の後、より多くの DOM 操作です)。問題は、これを行う関数が見つからないことです。
編集: 明確にするために、現在の行と現在の行のみを変更する方法が必要です ($line var または $q->nodeValue)。JWileyの回答と私のコメントをご覧ください。