Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   регулярная замена, вопрос (http://forum.oszone.net/showthread.php?t=62604)

E-mail 12-03-2006 03:03 416724

регулярная замена, вопрос
 
есть масив,
каждый элемент массива - текст на английском языке, который может содержать в себе теги html

нужно както логически отделить теги от текста чтобы перевести текст автоматически на русский язык, а потом вернуть на нужное место теги

с автоматикой перевода проблем нет:) но вот как оставить нетронутыми теги, чтобы их случайно вместе с текстом не перевести?:)

т.е. например один из элементов массива:

Код:

my messenger is a popular instant message service.  Find out more at the <a href="http://trytrf.com/" target="_blank"><strong>My Messenger homepage</strong></a>
and all popular mess

должно получится:

Код:

мой посылатель - популярное мгновенное обслуживание сообщения. Узнайте больше в <a href = "http://trytrf.com/" target = "_blank"> <strong> начальная страница Посыльного MSN </strong> </a> и другие популярные посылатели.

т.е. внутрености тегов (атрибуты и ссылки и т.д.) нельзя переводить.

создавать базу тегов и атрибутов и возможных url - безсмысленно, надо както с помощью регуляров искать и нужное заменять на перевод... массив огромный, кто может подсказать что и как делать?:)

vadimiron 12-03-2006 13:21 416817

Ну например можное каждый элемент разбивать опять на массив по аткому принципу: текст тег текст тег
то есть мы в один элемент пишем, пока не наткнулись на тег, для тега начинаем следущий элемент, когда тег закончился и начался текст, то опять начинаем новый элемент для текста
Таким образом у нас поочерёдно в массиве сидят тест и теги. Переводим каждый второй элемент массива (то есть только текст) и потом опять делаем из массива строку.

XCodeR 12-03-2006 18:44 416896

а можно сделать функцию, которая с помощью регулярных выражений будет изымать текст из пары тэгов и записывать её в отдельный массив, а потом обратная замена...

E-mail 12-03-2006 20:18 416939

вообще мне показалось что я этот пост вчера еще удалил)

спасибо за ответы, у меня под ночь всегда много интересных вопросов появляется...


Время: 16:38.

Время: 16:38.
© OSzone.net 2001-