X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с регулярным выражением Php
Scratches
Scratches
Topic Starter сообщение 15.8.2009, 18:52; Ответить: Scratches
Сообщение #1


Участник
***

Группа: User
Сообщений: 100
Регистрация: 1.4.2008
Поблагодарили: 15 раз
Репутация:   11  


м не нужно создать поиск ссылок в тексте через функцию preg_match, частично сделал но не до конца да и ищет только когда у href="" кавычки двойные не знаю как сделать чтоб искалось и с двойными и с одинарными и вообще без кавычек, еще проблема в том что у некоторых ссылок есть title. Ну в общем и целом не разобрался я в регулярных выраженияж PCRE

preg_match_all("/<a([\040])href=\"http:\/\/(.*)\">(.*)<\/a>/i", $url, $found, PREG_SET_ORDER)

помогите дописать

Сообщение отредактировал Scratches - 15.8.2009, 20:14


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Psixo
Psixo
сообщение 17.8.2009, 19:54; Ответить: Psixo
Сообщение #2


Новичок
*

Группа: User
Сообщений: 37
Регистрация: 12.4.2008
Из: СССР
Поблагодарили: 8 раз
Репутация:   0  


Если погуглить, можно найти много готового кода.
По поводу кавычек:
[\"']*

preg_match_all("/<a([\040])href=\"http:\/\/(.*)\">(.*)<\/a>/i", $url, $found, PREG_SET_ORDER)
меняем
preg_match_all("/<a([\040])href=[\"']*http:\/\/(.*)[\"']*>(.*)<\/a>/i", $url, $found, PREG_SET_ORDER)

Если без кавчек,то добавь во вторые [] ещё и пробел.

На самом деле у тебя совсем не универсальная регулярка получилась.
Я бы сделал примерно так:

<a.+?href=[\"']*.*?[\"' ].*?>

Честно,не тестил даже и давно не спал smile.gif
Если вопрос актуален - в личку.


--------------------
(\_(\
.(=' :')
•. (,('')('')
.•*`*•..•*`*•..•*`*•.. •*
*•..•*`*•..•*`*•..•*`*•..
JID: psixo@jabber.org
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Samborsky
Samborsky
сообщение 18.8.2009, 16:32; Ответить: Samborsky
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 426
Регистрация: 31.7.2008
Поблагодарили: 139 раз
Репутация:   19  


В таких случаях нужно проходить текст 3-мя разными регулярками, которые предусматривают

1. Если ссылка заключена в двойные кавычки

пример:
<a href="http://www.samborsky.com">Жека</a>


Регулярка:
/href="([^"]+)"/i'


2. Если ссылка в одинарных кавычках

пример:
<a href='http://www.samborsky.com'>Жека</a>


Регулярка:
/href='([^']+)'/i


3. Если ссылка вообще без кавычек, то включаем поиск до первого пробела, или закрытия тега

пример:
<a href="http://www.maultalk.com/go.php?http://www.samborsky.com>Жека</a>

Регулярка:
/href=([^ \>]+)/i


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал Samborsky - 18.8.2009, 16:33


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна верстка со знанием php
4 Nemo 401 22.5.2018, 7:14
автор: Nemo
Открытая тема (нет новых ответов) Ищу php-программиста, работа с Yii2
0 eduarddis 325 19.5.2018, 15:58
автор: eduarddis
Горячая тема (нет новых ответов) Помогите, пожалуйста, моей дочери выжить!
благотворительный топик
30 vitvirtual 3806 19.5.2018, 8:30
автор: vitvirtual
Открытая тема (нет новых ответов) Продвигаю страницу по запросу "Как сделать игру". Помогите советом, пожалуйста
Я секу в теме! Но подать статью угодным поисковикам образом не смо
22 coremission 2208 8.5.2018, 12:33
автор: coremission
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
20 qpPeW 5752 30.4.2018, 15:34
автор: koroluk1990


 



RSS Текстовая версия Сейчас: 26.5.2018, 17:55
Дизайн