Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функция для индексации ссылок, Для скрипта поиска по сайту. 
:(
    Опции темы
Павeл
Дата 12.7.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



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

Заранее, спасибо!
PM MAIL   Вверх
Wolf1994
Дата 12.7.2008, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Код

function get_links ($t)
{
 preg_match_all ("/href\=[\"\']{0,1}(http\:\/\/.*)[\"\' \r\n]/Ui", $t." ", $t_ar);
 $t_ar=$t_ar [1];
 return $t_ar;
}
$t=<<<xhtml
kjlv
fvf]lv

<a href="xyz">1</a>

<a href="xyz2">2</a> c,d kldckcldk

http://www.wolf-ware.ru/ - ...
cdldck
xhtml;

print_r (get_links ($t));

PM MAIL WWW   Вверх
Павeл
  Дата 12.7.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



К сожалению, не работает... Пустой массив возвращается. 
PM MAIL   Вверх
Wolf1994
Дата 12.7.2008, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Код

function get_links ($t)
{
 preg_match_all ("/href\=[\"\']{0,1}(http\:\/\/.*)[\"\' \r\n]/Ui", $t." ", $t_ar);
 $t_ar=$t_ar [1];
 return $t_ar;
}
$t=<<<xhtml
kjlv
fvf]lv
<a href="http://xyz">1</a>
<a href="http://xyz2">2</a> c,d kldckcldk
http://www.wolf-ware.ru/ - ...
cdldck
xhtml;
print_r (get_links ($t));

PM MAIL WWW   Вверх
MuToGeN
Дата 12.7.2008, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



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


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Павeл
Дата 13.7.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



Wolf1994, спасибо!

Цитата

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

Не могу понять как это работает. Регулярные выражения для меня - сродни китайскому языку, знаю только что ^ - символ привязки к началу строки, а $ - к концу. Больше ничего в регулярных выражениях понять не могу, к сожалению.
PM MAIL   Вверх
HAS
Дата 24.7.2008, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



попробуй это посмотреть - http://www.pcre.ru/examples/links/text/40/
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.