Помощник
|
Регулярное выражение, помогите составить |
500
|
Сообщение
#1
|
||
|
|
||
|
|||
Tollun |
10.3.2014, 19:50;
Ответить: Tollun
Сообщение
#2
|
|
Что из них получить?
или их выдрать надо? Сообщение отредактировал Tollun - 10.3.2014, 19:51 |
|
|
500
|
Сообщение
#3
|
|
выражения
Код <a href="https://mega.co.nz/#!AVwmzKhI!Sy5Wij32VD0-g4KCzUZDLgqt0gUV2GodAkMZqc7TXgc" class="myclass" target="_blank">Текст</a> нужно заменить на Код <span class="dwn" data-link="<?php get_field('new_link')?>">Текст</span>
|
|
|
Tollun |
10.3.2014, 20:19;
Ответить: Tollun
Сообщение
#4
|
|
Код <a href="https://mega.co.nz([^>]+)>([^<]+)</a> Код <a(.+[mega.co.nz][^>]+)>([^<]+)</a>
Сообщение отредактировал Tollun - 10.3.2014, 20:23 |
|
|
x64 |
10.3.2014, 20:28;
Ответить: x64
Сообщение
#5
|
|
Код <a href="https://mega\.co\.nz/#!.+?</a>
|
|
|
500
|
Сообщение
#6
|
|
Код function mega_parse($str) { $archive_id = get_field("archive_id"); if($archive_id == "") return $str; $pattern = "<a(.+[mega.co.nz][^>]+)>([^<]+)</a>"; $replacement = "<span data-link='http://xsite.net/?id=".$archive_id."' class='dwn'>Скачать / Download</span>"; $str = preg_replace( $pattern, $replacement, $str); return $str; } add_filter('the_content', 'mega_parse'); Выдает: Код Warning: preg_replace(): Unknown modifier ']' in /var/www/.../functions.php on line 124 Если: Код $pattern = '<a href="https://mega.co.nz([^>]+)>([^<]+)</a>'; то Код Warning: preg_replace(): Unknown modifier ']' in /var/www/.../functions.php on line 124 Если: Код $pattern = '<a href="https://mega\.co\.nz/#!.+?</a>'; то Код Warning: preg_replace(): No ending matching delimiter '>' found in /var/www/.../functions.php on line 124
|
|
|
x64 |
10.3.2014, 21:54;
Ответить: x64
Сообщение
#7
|
|
всё верно, вы забыли ограничители регулярных выражений, неверно используете символьный класс.
Код $str = preg_replace('!mega\.co\.nz!', '', $str); этот код заменит все вхождения mega.co.nz на пустую строку. Код $pattern = "<a(.+[mega.co.nz][^>]+)>([^<]+)</a>"; синтаксис [] означает символьный класс, т. е. любой из перечисленных тут символов. при этом, точка сама по себе спецсимвол (означает буквально «любой символ»). можно сделать так (при этом, подходящими будут ссылки, начинающиеся с http://mega.co.nz или http://mega.co.nz) Код $str = preg_replace('!<a.+?href="https?://mega\.co\.nz.+?</a>!', $replacement, $str);
Сообщение отредактировал x64 - 10.3.2014, 21:55 |
|
|
Tollun |
10.3.2014, 22:01;
Ответить: Tollun
Сообщение
#8
|
|
Код $pattern = "#<a(.+[mega.co.nz][^>]+)>([^<]+)</a>#";
|
|
|
x64 |
10.3.2014, 22:13;
Ответить: x64
Сообщение
#9
|
|
Tollun, что вы написали?
Код [megaconz] означает один из символов: m, e, g, a, c, o, n или z |
|
|
Tollun |
10.3.2014, 22:53;
Ответить: Tollun
Сообщение
#10
|
|
x64, не работает?
Код $pattern = "#<a(.+mega.co.nz[^>]+)>([^<]+)</a>#";
Сообщение отредактировал Tollun - 10.3.2014, 23:04 |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Регулярное наполнение новостного сайта провинциального города | 15 | 4enki | 3629 | 10.3.2016, 22:39 автор: 4enki |
|
Результативные прогоны Хрумером по свежесобранным базам для поднятия позиций в Yandex и Google (Выдача, тИЦ, PR)… Регулярное обновление баз. | 275 | Kroner | 146891 | 23.4.2015, 11:57 автор: Kroner |
|
регулярное выражение | 13 | Panich | 8498 | 27.5.2011, 18:15 автор: -Apay- |
Текстовая версия | Сейчас: 29.3.2024, 18:01 |