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


Пользователь месяца
TimurR TimurR 1-й за Август
Очков активности: 726 3 темы, 35 сообщений, 11 баллов репутации
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 207 2 темы, 17 сообщений, 6 баллов репутации

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

    Ixman (o5cat.ru)
    Очков активности: 72 0 тем, 8 сообщений, 6 баллов репутации

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

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

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

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

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

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

  • Фотография Алексей111
    #6

    Алексей111
    Очков активности: 28.5 5 тем, 4 сообщения, 1 балл репутации

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

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

  • Фотография torix
    #8

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

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

    Developer
    Очков активности: 21 1 тема, 11 сообщений, 1 балл репутации

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

    fedornabilkin (zaka4ano.ru)
    Очков активности: 18 0 тем, 4 сообщения, 3 балла репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 20.09.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

robot

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


Похожие темы

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

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