Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как в ocmod найти закрывающий тег, если таких тегов много?


Recommended Posts

Надо через ocmod заменить span на div.

Допустим имеем такую разметку:

<span class="primer">
  <div></div>
  <span></span>
</span>

Мне надо заменить спан с классом "пример" на тег div. С открывающим тегом это не сложно. Делаю так:

<search><![CDATA[<span class="primer">]]></search>
<add position="replace"><![CDATA[
<div class="primer">
]]></add>

Но как переименовать закрывающий тег? Может есть какой-то оператор для search, где можно указать диапазон или точную строку нахождения? Или как это делается?

Надіслати
Поділитися на інших сайтах


3 минуты назад, nikifalex сказал:

зачем? сверстайте чтоб span работал как div и все

Да, это я не для внешнего вида. Это валидатору подавай, чтобы внутри спана не было дивов и других тегов. )))

Надіслати
Поділитися на інших сайтах


1 минуту назад, alinalessioYandex сказал:

Да, это я не для внешнего вида. Это валидатору подавай, чтобы внутри спана не было дивов и других тегов. )))

Так а почему бы это не сделать прямо в файле, ведь это же не контроллер? Просто интересно...

Надіслати
Поділитися на інших сайтах

Вроде решено, но может есть способ получше:

Добавил в search атрибут index. Пересчитал сколько повторов от начала страницы до моей нужной строки и вписал значение в атрибут индекс. Подсчет начинается с нуля.

Для примера, представленного выше, получается так:

<search index="1"><![CDATA[</span>]]></search>

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

Надіслати
Поділитися на інших сайтах


3 минуты назад, greendragon сказал:

Так а почему бы это не сделать прямо в файле, ведь это же не контроллер? Просто интересно...

Дважды уже делал, но после обновления снова все слетает. Надо именно через окмод, чтобы обновления не ломали ничего. ))

 

Надіслати
Поділитися на інших сайтах


2 минуты назад, alinalessioYandex сказал:

Дважды уже делал, но после обновления снова все слетает. Надо именно через окмод, чтобы обновления не ломали ничего. ))

 

Так не каждые же два дня вы обновляете этот файл? А изменить после обновления на div - минута времени..

Надіслати
Поділитися на інших сайтах

1.Написать автору шаблона
2.Написать на лбу - обновил шаблон, замени теги
3.Смириться.
4 НЕ лезть окмодом - сделать можно, но это критичино
 

  • +1 2
Надіслати
Поділитися на інших сайтах

а только ocmod без js подходит?

Если и другой вариант, то вот на js, простое решение:

$('div.inner').replaceWith(function(){
    return $("<span />").append($(this).contents());
});

 

Змінено користувачем anboza
Надіслати
Поділитися на інших сайтах

2 часа назад, alinalessioYandex сказал:

Дважды уже делал, но после обновления снова все слетает. Надо именно через окмод, чтобы обновления не ломали ничего. ))

 

Пишите автору - Это его КОСЯК

такого в верстке быть не должно 

  • +1 1
Надіслати
Поділитися на інших сайтах


Спасибо всем. Вы правы, в таком виде писать акмод слишком рискованно, поэтому буду править ручками. И напишу автору, может поправит.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.