Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заменить все "<", не входящие в тэги 
:(
    Опции темы
GreenPiece
Дата 17.1.2012, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.1.2011

Репутация: нет
Всего: нет



Добрый день.

Поиск выдал похожие темы, но все же немного на такие.
Нужно заменить все "<", которые не входят в определенные тэги, в частности, в "<p>", "</p>", на "&lt;"

Это я хочу сделать для электронной книги. она воспринимает "<", ">" как спец. символы, поэтому, если эти символы не задействованы в тэгах, их нужно заменить на коды, потому что иначе текст в строке после этих символов не виден.

Формат текста представлен примерно так:
<p>Здесь текст</p>
<p><strong>Здесь код C++ с текстом "#include <windows.h>", циклом for (int i = 0; i < 10; i++) и символами "->"</strong></p>

Соответственно, мы увидим:
Здесь текст
Здесь код C++ с текстом "#include

Если заменить все "<", то вместо отформатированного текста мы увидим "<p>Здесь текст</p><p><strong>Здесь код C++ с текстом"... Поэтому в тэгах символы "<" и ">" должны остаться нетронутыми, а вне тэгов - быть преобразованными в коды.

Это сообщение отредактировал(а) GreenPiece - 17.1.2012, 23:28
PM MAIL   Вверх
alezzz
Дата 17.1.2012, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



s#<((?!/?p)[^>]*)>#&lt;$1&gt;#g;
нето, это только для тегов, 
так думаю правильнее:
Код

s#<(?!/?p)#&gt;#gi;
s#(?<!p)>#&lt;#gi;

только никаких пробелов и классов/id внутри <p>

Это сообщение отредактировал(а) alezzz - 18.1.2012, 00:00
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.