Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытащить ссылку, не заключенную в тег, регулярные выражения pcre 
:(
    Опции темы
Yura_Matsuk
Дата 9.8.2008, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 16.5.2004

Репутация: нет
Всего: нет



Итак, есть регулярка, которая ищет все ссылки
Код

#<a(.+)>(.+)</a>#


Задача в том, чтобы находить только те ссылки, которые НЕ заключены в тег {openlink} текст _ссылка_ текст {/openlink}
Прочитал прилично материалов, ничего не помогает.
--------------------
Смех смехом, а ОНА кверху мехом...
PM MAIL   Вверх
Anarki
Дата 10.8.2008, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 2
Всего: 11



Как вариант вырезать из текста содержимое, которое находится между этими тегами и с новым текстом уже работать. Иногда проще добавить условных операторов, чем реализовывать все в одной регулярке.
Набросок кода.
Код

<?php
// $text - исходный текст
$newText = preg_replace('/{openlink}.+?{/openlink}/','',$text);
if (preg_match('#<a(.+)>(.+)</a>#',$newText,...



--------------------
PM WWW   Вверх
Yura_Matsuk
Дата 10.8.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 16.5.2004

Репутация: нет
Всего: нет



не понял, зачем в предложенной регулярке знак вопроса.

такой вариант не подходит, т.к. мне нужно преобразовать весь исходный текст и вернуть обратно

я вот почитал предыдущий пост и решил разбить поиск на три части:
1. все, что до первого открывающего тега
2. все, что между тегами {/openlink} .. {openlink}   //от противного )
3. все, что после последнего {/openlink}
--------------------
Смех смехом, а ОНА кверху мехом...
PM MAIL   Вверх
Anarki
Дата 10.8.2008, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 2
Всего: 11



Цитата(Yura_Matsuk @  10.8.2008,  14:25 Найти цитируемый пост)
не понял, зачем в предложенной регулярке знак вопроса.

Чтобы не было "жадного" поиска.

Цитата(Yura_Matsuk @  10.8.2008,  14:25 Найти цитируемый пост)
такой вариант не подходит, т.к. мне нужно преобразовать весь исходный текст и вернуть обратно

Да, немного неподумав написал.


--------------------
PM WWW   Вверх
sTa1kEr
Дата 12.8.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 5
Всего: 146



Я думаю, этот топик может помочь. http://forum.vingrad.ru/forum/topic-163192.html
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.