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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

Функция поиска анкора ссылки на странице. Допустим за страницу отвечает переменная $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


$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


(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


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

По поводу разделителя-слеша, это не обязательно, в 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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 730 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2344 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12531 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Помогите с поиском доноров
3 tehno_music 3359 4.11.2019, 17:15
автор: goblin78


 



RSS Текстовая версия Сейчас: 25.4.2024, 4:34
Дизайн