Я использую API для перевода своего блога, но иногда он портится с моим html таким образом, что дает мне больше работы для исправления всего.
То, что я сейчас пытаюсь сделать, - этоИзвлеките содержимое из HTML, переведите его и положите обратно туда, где оно было.
Сначала я попытался сделать это с помощью preg_replace, где я бы заменил каждый тег на что-то вроде ## a_number ##, а затем вернул обратнок оригинальному тегу после перевода текста.К сожалению, им очень трудно управлять, потому что мне нужно заменить каждый тег уникальным значением.
Затем я попробовал его с "простым html dom", который можно найти здесь: http://simplehtmldom.sourceforge.net/manual.htm
$html = str_get_html($content);
$str = $html;
$ret = $html->find('div');
foreach ($ret as $key=>$value)
{
echo $value;
}
Таким образом, я получаю все тексты, но в значении все еще есть какой-то html (div внутри div), и я не знаю, как вернуть обратно переведенный текст в исходный объект.Структура этого объекта настолько сложна, что при его отображении происходит сбой моего браузера.
У меня немного не хватает параметров, и, вероятно, существуют более простые способы сделать это.То, что я хотел бы найти, - это способ получить объект или массив, содержащий все HTML с одной стороны и весь текст с другой стороны.Я перебрал бы текст, чтобы перевести его, и объединить все, чтобы не нарушать HTML.
Видите ли вы лучшие варианты для достижения этой цели?
спасибо Лорану