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

Поиск по регулярным выражениям


Webracer

Recommended Posts

При написании xml-файла для vQmod, столкнулся с необходимостью замены части кода, который содержит несколько строк, пробелы. Как в этом случае нужно задать поиск?

<search position="replace"><![CDATA[]]></search>

Как вариан воспользоваться регулярными выражениями, только не могу никак в этом разобраться. Может кто подскажет. Вот код который нужно найти и заменить:

<!-- AddThis Button BEGIN -->
          <div class="addthis_default_style"><a class="addthis_button_compact"><?php echo $text_share; ?></a> <a class="addthis_button_email"></a><a class="addthis_button_print"></a> <a class="addthis_button_facebook"></a> <a class="addthis_button_twitter"></a></div>
          <script type="text/javascript" src="//s7.addthis.com/js/250/addthis_widget.js"></script>
          <!-- AddThis Button END -->
Надіслати
Поділитися на інших сайтах


Достаточно просто скопировать целиком этот кусок кода и вставить в CDATA, если в шаблоне никто там лишних переносов не делал, то должно заменить, а чтобы уж наверняка - можно заменить 

<!-- AddThis Button BEGIN -->

на

<!-- AddThis Button BEGIN 

и

<!-- AddThis Button END -->

на

 AddThis Button END -->

первое, что пришло в голову :)

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

  • 2 weeks later...

У самого аналогичная проблема, а авторов модов все работает, а я пытаюсь вставить несколько строк - не видит.

 

А пример человек показал "интересный" = сломать код.

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

Почему сломать? Это называется закомментировать, почему это лучше удаления или замены ненужных строк - в случае конфликтов с другими вкмодами вы сможете открыть исходный код страницы и увидеть суть проблемы

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

При написании xml-файла для vQmod, столкнулся с необходимостью замены части кода, который содержит несколько строк, пробелы. Как в этом случае нужно задать поиск?

<search position="replace"><![CDATA[]]></search>

Как вариан воспользоваться регулярными выражениями, только не могу никак в этом разобраться. Может кто подскажет. Вот код который нужно найти и заменить:

<!-- AddThis Button BEGIN -->
          <div class="addthis_default_style"><a class="addthis_button_compact"><?php echo $text_share; ?></a> <a class="addthis_button_email"></a><a class="addthis_button_print"></a> <a class="addthis_button_facebook"></a> <a class="addthis_button_twitter"></a></div>
          <script type="text/javascript" src="//s7.addthis.com/js/250/addthis_widget.js"></script>
          <!-- AddThis Button END -->

 

Для этого нужно указать в поиске первую строку фрагмента и добавить атрибут offset со значением количества дополнительных строк:

...
<operation info="Multi-line Replace">
  <search position="replace" offset="3"><![CDATA[
    <!-- AddThis Button BEGIN -->
    ]]></search>
  <add><![CDATA[]]></add>
</operation>
...

См. пример на офф. сайте https://code.google.com/p/vqmod/wiki/Examples.

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


vetalreal, спасибо за подсказку!

Нигде в мануалах не встречал опции offset. Так и думал, что есть что-то подобное, так как без неё как-то всё непродуманно выглядело.

Ещё раз спасибо!

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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