![]() |
регулярная замена, вопрос
есть масив,
каждый элемент массива - текст на английском языке, который может содержать в себе теги 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> Код:
мой посылатель - популярное мгновенное обслуживание сообщения. Узнайте больше в <a href = "http://trytrf.com/" target = "_blank"> <strong> начальная страница Посыльного MSN </strong> </a> и другие популярные посылатели. т.е. внутрености тегов (атрибуты и ссылки и т.д.) нельзя переводить. создавать базу тегов и атрибутов и возможных url - безсмысленно, надо както с помощью регуляров искать и нужное заменять на перевод... массив огромный, кто может подсказать что и как делать?:) |
Ну например можное каждый элемент разбивать опять на массив по аткому принципу: текст тег текст тег
то есть мы в один элемент пишем, пока не наткнулись на тег, для тега начинаем следущий элемент, когда тег закончился и начался текст, то опять начинаем новый элемент для текста Таким образом у нас поочерёдно в массиве сидят тест и теги. Переводим каждый второй элемент массива (то есть только текст) и потом опять делаем из массива строку. |
а можно сделать функцию, которая с помощью регулярных выражений будет изымать текст из пары тэгов и записывать её в отдельный массив, а потом обратная замена...
|
вообще мне показалось что я этот пост вчера еще удалил)
спасибо за ответы, у меня под ночь всегда много интересных вопросов появляется... |
Время: 16:38. |
Время: 16:38.
© OSzone.net 2001-