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>';


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


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Помогите, пожалуйста, моей дочери выжить!
благотворительный топик
30 vitvirtual 3786 19.5.2018, 8:30
автор: vitvirtual
Открытая тема (нет новых ответов) Продвигаю страницу по запросу "Как сделать игру". Помогите советом, пожалуйста
Я секу в теме! Но подать статью угодным поисковикам образом не смо
22 coremission 2186 8.5.2018, 12:33
автор: coremission
Открытая тема (нет новых ответов) Помогите с выбором ноута
20 rokot 903 23.4.2018, 12:09
автор: Room
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыПомогите с идеями для форума про успех
Спасибо за каждую идею
43 Zoya83 5169 12.4.2018, 11:42
автор: Zoya83
Открытая тема (нет новых ответов) Лендинг или сайт-визитка для ИП? Помогите определиться
6 Yas18 1137 31.3.2018, 20:57
автор: Yas18


 



RSS Текстовая версия Сейчас: 25.5.2018, 11:35
Дизайн