vikital
Новичок
Дата регистрации:
03.06.2013 21:52:10
Сообщений: 7
Здравствуйте! Мне нужна помощь...
Я хотел бы осуществить такую идею:
Пользователь при регистрации на сайте в отведенное поле вставляет ссылку своего профиля из сайта хххх.хххх, после чего php-обработчик берет данные этой страницы, ищет содержимое тегов с классами FamUser, NameUser, DataRegistrUser, ... и переносит их в отведенные формы на странице регистрации, то есть, в результате должно получится, что php-обработчик сам заполнит нужные, для регистрации, поля.
Подскажите, как это реализовать? Какой код для этого нужен? Я так понял, что надо использовать функцию file_get_contents, чтобы принять код страницы с профилем, но как найти в нем то что нужно...
Зарание спасибо
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Да, file_get_contents() тут поможет. А дальше нужно парсить страницу с помощью регулярных выражений.
vikital
Новичок
Дата регистрации:
03.06.2013 21:52:10
Сообщений: 7
Проблема в том, что я не знаю регулярных выражений....
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
1. http://myrusakov.ru/php-regexp.html
2. http://myrusakov.ru/php-regexp-functions.html
3. http://myrusakov.ru/php-regexp-meta.html
4. http://myrusakov.ru/php-regexp-quantifier.html
5. http://myrusakov.ru/php-regexp-symbol.html
6. http://myrusakov.ru/php-regexp-mod.html
7. http://myrusakov.ru/php-regexp-example.html
vikital
Новичок
Дата регистрации:
03.06.2013 21:52:10
Сообщений: 7
Спасибо! Буду изучать.
vikital
Новичок
Дата регистрации:
03.06.2013 21:52:10
Сообщений: 7
С регулярными выражениями я разобрался. Только не понял, как составлять функцию с выражением...
Вот что я написал, что я неправильно сделал?
<?php
$nameUser = array();
$text = 'Рыба в веб-дизайне — временное <span class="nameUser">Виталий</span>наполнение макета страницы для имитации её законченного вида.';
preg_match(string /nameUser\W\W[a-zA-Zа-яА-Я]{1,20}\W/, string $text, array matches);
print_r($nameUser[0]);
?>
vikital
Новичок
Дата регистрации:
03.06.2013 21:52:10
Сообщений: 7
...Я просто не понял конструкцию функции preg_match...
vikital
Новичок
Дата регистрации:
03.06.2013 21:52:10
Сообщений: 7
Как правильно надо написать?
vikital
Новичок
Дата регистрации:
03.06.2013 21:52:10
Сообщений: 7
Где-то нашел еще такой вариант:
<?php
$text = 'Рыба в веб-дизайне — временное <span class="nameUser">Виталий</span>наполнение макета страницы для имитации её законченного вида.';
$regul = "/nameUser\W\W[a-zA-Zа-яА-Я]{1,20}\W/";
$finish = "preg_match($regul,$text)"; echo $finish;
?>
Только при выводе $finish на экране выводится true, а не найденое слово....
ilyadenisovid
Мастер
Дата регистрации:
28.01.2013 18:32:29
Сообщений: 213
Вообще - то данная функция возвращает булевскую переменную, или правда(true), или ложь(false).