Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Регулярные выражения - удаление ссылок / 10 сообщений из 10, страница 1 из 1
15.08.2005, 21:21
    #33216537
Carat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
привет!
мне надо обработать существующую страницу HTML.
в тексте много строк типа:
<A href="http://www.test.ru/content/TSPO085.xls" target=_blank>- [ Загрузить Excel файл с ценами]</A>
вот их всех и надо удалить из текста.
делаю так:

$pattern = "<a.+\.xls.*>.+</a>";
$html = eregi_replace($pattern, "[deleted]", $html);

но при этом удаляется весь текст от первого тега
"<a.+\.xls.*>" и до последнего тега "</a>".

тужился-тужился и никак. просвятите ламера!
...
Рейтинг: 0 / 0
15.08.2005, 21:31
    #33216546
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
Код: plaintext
1.
2.
$pattern = "~<a.+\.xls.*>.+</a>~iU";
$html = preg_replace($pattern, "[deleted]", $html)

Обратите внимание на модификаторы в конце шаблона: iU, первый из них означает, что шаблон не не учитывает регистр, а второй делает его "нежадным", т.е. шаблон применяется не к максимально возможному найденному варианту (т.е. первому открывающему тегу <a+ тексту .xls + последнему закрывающему </a>), а первому совпадению.
...
Рейтинг: 0 / 0
15.08.2005, 21:46
    #33216554
Carat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
спасибо, но не сработало.
я суть понимаю так, что:
<a.+\.xls.*>.+[тут исключить теги <a и </a>]</a>
...
Рейтинг: 0 / 0
15.08.2005, 21:49
    #33216556
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
Код: plaintext
1.
$pattern = "~<a[^>]+\.xls.*>.+</a>~iU";
Если между <a> и </a> никаких тегов нету, на такую же конструкцию замените и точку там.
...
Рейтинг: 0 / 0
15.08.2005, 21:58
    #33216562
Carat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
все равно не работает. сорри
...
Рейтинг: 0 / 0
15.08.2005, 22:28
    #33216579
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
Caratвсе равно не работает. сорриЭто не описание проблемы. Тем не менее,
Код: plaintext
1.
2.
$str ='<A href="http://www.test.ru/content/TSPO085.xls" target=_blank>- [ Загрузить Excel файл с ценами]</A>';
preg_match_all('~<a[^>]+\.xls.*>.+</a>~iU',$str,$arr);
print_r($arr);
выводит именно то, что и ожидалось.
...
Рейтинг: 0 / 0
16.08.2005, 15:00
    #33218204
Ksnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
Caratвсе равно не работает. сорри
Однако DocAl правильный прег дал... Если быть совсем уж близко к тексту исходной задачи :), то
Код: plaintext
1.
2.
3.
$html ='YYY<A href="http://www.test.ru/content/TSPO085.xls" target=_blank>- [ Загрузить Excel файл с ценами]</A>XXX<A href="http://www.test.ru/content/TSPO085.xls" target=_blank>- [ Загрузить Excel файл с ценами]</A>ZZZ'; 
$pattern ='~<a[^>]+\.xls.*>.+</a>~iU';
$html = preg_replace($pattern, "[deleted]", $html);
print_r($html);
выводит
Код: plaintext
1.
YYY[deleted]XXX[deleted]ZZZ    
...
Рейтинг: 0 / 0
15.09.2005, 11:35
    #33270713
da-khosh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
Я извиняюсь, но вот тоже столкнулся с регулярными выражениями.
И мне очень помогла эта тема.
К сожалению, я не смог понять, что означает символ "~" в начале и конце кода?
...
Рейтинг: 0 / 0
15.09.2005, 11:49
    #33270754
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
da-khoshК сожалению, я не смог понять, что означает символ "~" в начале и конце кода?http://se.php.net/PCRE
...
Рейтинг: 0 / 0
15.09.2005, 19:35
    #33272187
da-khosh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Регулярные выражения - удаление ссылок
Премного благодарен!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Регулярные выражения - удаление ссылок / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]