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



 

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

Открыть тему
Тема закрыта
> помогите с регуляркой, помогите
rus-xp
rus-xp
Topic Starter сообщение 20.4.2011, 20:15; Ответить: rus-xp
Сообщение #1


клоновод
*****


Группа: Banned
Сообщений: 647
Регистрация: 19.4.2009
Поблагодарили: 147 раз
Репутация:   23  


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

Функция поиска анкора ссылки на странице. Допустим за страницу отвечает переменная $url, а за ссылку на ней $comm-url.
А также общий подсчет ссылок со страницы.

Анкор вылавливаю таким образом, и выдает ошибку.

$ancor = file_get_contents ($url);
preg_match_all('~<a [^<>]*href='.$comm-url.'+)[\'"][^<>]*>(*)',$html, $matches);
echo $matches;


--------------------
бан за клоноводство и обман администрации форума
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asAlbert
asAlbert
сообщение 20.4.2011, 20:21; Ответить: asAlbert
Сообщение #2


http://http://http://http
*****

Группа: Active User
Сообщений: 992
Регистрация: 15.12.2009
Из: /dev/null
Поблагодарили: 221 раз
Репутация:   62  


$ancor = file_get_contents ($url);
preg_match_all('~<a [^<>]*href='.$comm-url.'+)[\'"][^<>]*>(*)',$ancor, $matches);
echo $matches[0][0];


А пример страницы можно увидеть? Так сложно сказать

Сообщение отредактировал asAlbert - 20.4.2011, 20:21
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rus-xp
rus-xp
Topic Starter сообщение 20.4.2011, 20:26; Ответить: rus-xp
Сообщение #3


клоновод
*****


Группа: Banned
Сообщений: 647
Регистрация: 19.4.2009
Поблагодарили: 147 раз
Репутация:   23  


(asAlbert @ 20.4.2011, 19:21) *
А пример страницы можно увидеть? Так сложно сказать

вместо preg_match_all использовал preg_match. Понял, что неуместно её употребил.
Выдает такую ошибку. Данные берутся из формы.
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /var/www/**** on line 13
Можно через icq списаться, если Вам удобнее.


--------------------
бан за клоноводство и обман администрации форума
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
G_Market
G_Market
сообщение 20.4.2011, 22:21; Ответить: G_Market
Сообщение #4


Новичок
*

Группа: User
Сообщений: 45
Регистрация: 22.9.2010
Поблагодарили: 18 раз
Репутация:   5  


Советую Вам почитать про регулярные выражения.
Например поищите в сети по строке "Введение в регулярные выражения."
То что Вы используете, мало похоже на регулярное выражение.
Регулярные выражения, представляют собой строку. Строка всегда начинается с символа разделителя, за которым следует непосредственно регулярное выражение, затем еще один символ разделителя и потом необязятельный список модификаторов. В качестве символа разделителя обычно используется слэш ('/')

По поводу разделителя-слеша, это не обязательно, в PHP можно использовать в качестве разделителя почти любой символ, просто если он встретится в регулярном вырежении, придется его экранировать (я лично обычно использую "#").
Т.е. регулярное выражение, которое находит адреса ссылок на странице, может выглядеть примерно так
'#<a[^<>]*href=[\'"]([^<>'"]+)[\'"][^<>]*>#im'
Если в переменной $html находится HTML-текст страницы со ссылками, попробуйте такой код (в массиве $matches[1] будут находиться адреса найденных ссылок) :
preg_match_all('#<a[^<>]*href=[\'"]([^<>'"]+)[\'"][^<>]*>#im',$html, $matches);
print '<pre>';
print_r ($matches[1]);
print '</pre>';


--------------------
Товары и цены в магазинах Вашего города: Городской рынок


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите выбрать программу
Помогите выбрать программу
11 impak 1296 Сегодня, 13:11
автор: Mikki
Открытая тема (нет новых ответов) Помогите найти плагин на WP
Отзывы с профилей соц сетей
1 SEOMR 429 30.11.2017, 7:18
автор: Nell
Открытая тема (нет новых ответов) Помогите найти проблему
Долгий ответ сервера
6 maxim1249 658 29.11.2017, 17:27
автор: genjnat
Открытая тема (нет новых ответов) Помогите оценить новотник. Плиз
1 Alex-777 494 29.11.2017, 7:18
автор: grumdas
Открытая тема (нет новых ответов) Помогите с неймингом для сборника советов
советы по разработки и жизни
11 coremission 1862 15.11.2017, 22:23
автор: rogefer


 



RSS Текстовая версия Сейчас: 11.12.2017, 14:03
Дизайн