Перейти к содержимому


Пользователь месяца
Ixman Ixman 1-й за Октябрь
Очков активности: 693 0 тем, 33 сообщения, 14 баллов репутации
Сайт: o5cat.ru
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 96 Вне конкурса за определение пользователя месяца

  • Фотография yuran
    #2

    yuran (yurbol.ru)
    Очков активности: 82.5 0 тем, 55 сообщений, 1 балл репутации

  • Фотография Ixman
    #3

    Ixman (o5cat.ru)
    Очков активности: 72 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #4

    BLIK
    Очков активности: 51 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #5

    Mandarin
    Очков активности: 42 0 тем, 28 сообщений, 1 балл репутации

  • Фотография WGN
    #6

    WGN (worldgamenews.com)
    Очков активности: 39 Вне конкурса за определение пользователя месяца

  • Фотография pozitron123
    #7

    pozitron123
    Очков активности: 31.5 2 темы, 15 сообщений, 1 балл репутации

  • Фотография алексс
    #8

    алексс
    Очков активности: 27 2 темы, 12 сообщений, 1 балл репутации

  • Фотография Scool
    #9

    Scool (stostory.ru)
    Очков активности: 19.5 3 темы, 4 сообщения, 1 балл репутации

  • Фотография RosenRot
    #10

    RosenRot (abuzov.com)
    Очков активности: 16.5 1 тема, 8 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 31.10.2018
  • Яндекс выдача: 15.11.2018
Топ 5 участников по репутации


Удаление\Изменение тегов

#1 eacl

eacl
  • Неактивные
  • 31 сообщений
  • Репутация: 1
0

Отправлено 06 September 2012 - 18:42

Люди подскажите редактор\способ, как изменить определенные теги и их свойства. Например у меня есть html файл, мне нужно изменить только все теги <span class="textsize"> </span> на <div class="text1"> </div>


Это можно сделать в принципе в редакторе выполнить: замену <span class="textsize"> на <div class="textss"> ну ведь тогда не получиться заменить </span> на </div> вернее заменяться все закрывающие теги </span> на </div> а мне нужно только определенные, не все.

Что посоветуете?

 

 

  • 0

#2 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 06 September 2012 - 20:38

Что посоветуете?

Воспользоваться возможностями регулярных выражений.
В том же редакторе Notepad++ открываем меню "Поис - Замена", выбираем режим поиска "Регулярное выражение" и составляем регулярку, она будет такой (ее помещаем в поле "Найти"):
<span class="textsize">([^<>]+)</span>
Ну а в поле "Заменить на" указываем на что меняем:
<div class="text1">\1</div>
Все - жмем "Заменить все" и получаем количество произведенных замен.
Ниже, на всякий случай, скрины:

Прикрепленные изображения

  • before.jpg
  • after.jpg

  • 1


#3 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 06 September 2012 - 22:36

Спасибо огромнейшее!!! Не просто ткнул в нужное место, а рассказал, еще и с примерами... Просто величайшее.. спасибо!!! Это то что нужно, все вместе и удобно, в блокноте.
Я смотрел во многих блокнотах, emeditor notepad в том числе но ничего так и не нашёл...

Про регулярку, что она существует в Notepad, вообще незнал, сократили там её еле найдеш, выдялить такое надо и по крупнее.

Уже даже вопрос сам по себе отпадает, как я вижу со скриншотов если между тегами спана есть текст то все ок, и заменяться только теги...?


Уже как только не думал чем это сделать, кучу блокнотов перерыл dreamweawer"ы всякие все бес толку, еще раз спасибо !!!
  • 0

#4 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 06 September 2012 - 22:54

Уже даже вопрос сам по себе отпадает, как я вижу со скриншотов если между тегами спана есть текст то все ок, и заменяться только теги...?

Абсолютно точно. Если мы имеем элемент span с классом textsize и внутри этого спана есть хотя бы 1 символ, то открывающий спан и закрывающий тег этого элемента будут заменены на div с классом text1. Содержимое остается неизменным.

Спасибо огромнейшее!!!

Пожалуйста :)
  • 0


#5 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 07 September 2012 - 12:39

И еще последнее какой должна быть регулка для данного участка
<span class="textsize"><strong>test</strong></span>
на
<div class="text1"><strong>test</strong></div>
или
<span class="textsize">test<br></span>
на
<div class="text1">test<br></div>

  • 0

#6 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 07 September 2012 - 15:03

Просто добавить новые теги - strong или br.
В первом случае регулярное выражение такое:
<span class="textsize"><strong>([^<>]+)</strong></span>
Замена такая:
<div class="text1"><strong>1</strong></div>

Во втором случае регулярное выражение такое:
<span class="textsize">([^<>]+)<br></span>
Замена такая:
<div class="text1">1<br></div>

  • 0


#7 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 08 September 2012 - 00:23

Да действительно, спасибо то я пробовал, наверно где-то ошибся. Уже начинаю по-немногу разбираться спасибо!:)
  • 0

#8 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 17 September 2012 - 22:02

А как задать начало фрагмента ввиде цифр пробовал но не получается

1 текст
2 текст
3 текст
4 текст
5 текст



([0-5]d)([^<>]+)

1

  • 0

#9 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 17 September 2012 - 22:54

Что значит "задать начало фрагмента ввиде цифр"? Что нужно получить? Из чего? Чем-то заменить? Или что-то найти?
Регулярные выражения - вещь очень мощная, но увы - не универсальная. Для того, чтобы составить работающее регулярное выражение, нужно четко знать с чем оно должно работать и что должно получиться на выходе.
Если понимать буквально фразу "задать начало фрагмента ввиде цифр", то цифры задаются литералами цифр: 0-9 либо метасимволом: d. Вот Вы в своем выражении указали, что в начале должны идти обязательные 2 цифры, если прочитать Ваше регулярное выражение - ([0-5]d)([^<>]+) - то буквально оно значит: одна цифра от 1 до 5, далее одна цифра от 0 до 9, далее как минимум один любой символ, кроме символов <>, и все 2 группы в сохраняющих скобках... ну а теперь сами себе задайте вопрос - и что должно делать это выражение?
В общем, на будущее - конкретнее формулируйте вопрос.
  • 0


#10 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 18 September 2012 - 12:47

Вообщем у нас есть текст в виде списка

1 текст.
2 текст.
3 текст.
4 текст.
5 текст.

Единственным вариантом за который можно зацепиться это цифры от 1 до 5.(начало, и в тоже время конец, номер следующего пункта)
Я хотел составить регулярку, чтоб она брала начало нужного фрагмента, который начинаеться цифрой от 1-5. Конец можно было бы задать точкой. Но есть варианты когда список состоит не из одного предложения, может можно задать так

(1-5 начало) 1 текст.(1-5 конец т.е. в данном случае 2) и в тоже время что б следующая цифры 2 была началом следующего регулярного выражения
2 текст.
3 текст.
4 текст.
5 текст

Надеюсь четко излагал свои мысли
  • 0

#11 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 18 September 2012 - 13:05

Надеюсь четко излагал свои мысли

Неа, отнюдь не четко. Есть текст - ну и что? Что нужно сделать с искомым текстом? Взять цифру и дальше что? К тому же, как Вы написали, с ним возможны варианты:

есть варианты когда список состоит не из одного предложения

Подозреваю, что могут быть и варианты, когда цифра может быть в средине строки...

Четко было бы, если бы был показан пример текста и то, что должно быть получено на выходе.
Внимательнее перечитайте мой предыдущий пост... процитирую ключевое из него из него:

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


  • 0


#12 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 18 September 2012 - 13:52

Подозреваю, что могут быть и варианты, когда цифра может быть в средине строки...

Нет в строке цифр нет, а если и есть то она выше 5, например 10 50

Приведу на примере

1. пример текст пример.
2. пример текст пример. пример текст пример.пример текст пример.
пример текст пример.пример текст пример.пример текст пример.пример текст пример.
3. пример текст пример. пример текст пример.пример текст пример.
4. пример текст пример. пример текст пример. пример текст пример.пример текст пример.
5. пример текст пример. пример текст пример.пример текст пример. пример текст пример.пример текст пример.

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

<li>1. пример текст пример.</li>
<li>2. пример текст пример. пример текст пример.пример текст пример.</li>
пример текст пример.пример текст пример.пример текст пример.пример текст пример.</li>
<li>3. пример текст пример. пример текст пример.пример текст пример.</li>
<li>4. пример текст пример. пример текст пример. пример текст пример.пример текст пример.</li>
<li>5. пример текст пример. пример текст пример.пример текст пример. пример текст пример.пример текст пример.</li>


  • 0

#13 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 18 September 2012 - 14:06

Нет в строке цифр нет, а если и есть то она выше 5, например 10 50

Дело в том, что компьютер "мыслит" немного не так, как мы... для него число 50 в строке - это две отдельные цифры, одна из которых как раз искомая пятерка :rolleyes:
Вот потому то я и подчеркивал необходимость конкретизации.
Теперь по задаче. Если исходный текст такой, как в примере, то регулярное выражение будет таким:
(d..*)
А строка замены - такой:
<li>1</li>

Результат на выходе:
<li>1. пример текст пример.</li>
<li>2. пример текст пример. пример текст пример.пример текст пример.</li>
пример текст пример.пример текст пример.пример текст пример.пример текст пример.
<li>3. пример текст пример. пример текст пример.пример текст пример.</li>
<li>4. пример текст пример. пример текст пример. пример текст пример.пример текст пример.</li>
<li>5. пример текст пример. пример текст пример.пример текст пример. пример текст пример.пример текст пример.</li>

  • 1


#14 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 18 September 2012 - 17:02

Спасибо, все получилось, будем пробовать дальше :rolleyes:
  • 0

#15 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 18 September 2012 - 17:13

Пожалуйста.
  • 0


#16 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 18 September 2012 - 19:14

А можно то же самое сделать но с таким примером? (искомый список в 1 строке)

1. пример текст пример. 2. пример текст пример. пример текст пример.пример текст пример. 3. пример текст пример.


  • 0

#17 eacl

eacl
    Topic Starter
  • Неактивные
  • 31 сообщений
  • Репутация: 1

Отправлено 20 September 2012 - 15:01

Все вроде получилось разобрался...:rolleyes:
  • 0

#18 leonid

leonid
  • Неактивные
  • 16 сообщений
  • Репутация: 0

Отправлено 24 September 2012 - 23:03

В данной проблеме вам поможет Notepad, меняешь какую-то строку кода, он находит дублирующую строку кода и меняет ее. Мне нравиться.
  • 0

#19 Weaver

Weaver
  • Неактивные
  • 27 сообщений
  • Репутация: 0

Отправлено 25 September 2012 - 18:14

Notepad - отличный редактор. Пользуюсь им давно , за него впрягаюсь. Что касается темы , тут уже все сказано , просто хотел похвастаться , что пользуюсь редактором Notepad)))).
  • 0

#20 Flops

Flops
  • Неактивные
  • 22 сообщений
  • Репутация: 0

Отправлено 25 September 2012 - 20:14

Могу посоветовать редактор adobe. Отличный редактор , а самое главное он прост в использовании. Всем советую. Ты там легко со всем разберешься. Там и найдешь все что нужно.
  • 0

robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru