Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: поиск в строке
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » поиск в строке

Страниц (1): [1]
 

1. Kubert - 08 Июля, 2011 - 12:52:26 - перейти к сообщению
Есть строка типа такого:
$a = 'Текст текст текст <a href="page1.html">ссылка 1</a> текст текст текст <a href="page2.html">ссылка 2</a>текст текст текст <a href="page3.html">ссылка 3</a>';

Необходимо в массив добавить URL ссылок и анкоры.

1) Надо искать типа <a ***</a>
2) Выбрать из href="page1.html">ссылка 1 сам href и анкор и добавить в массив...

Подскажите куда копать!!!
2. EuGen - 08 Июля, 2011 - 12:54:45 - перейти к сообщению
http://php.su/functions/?preg_match_all

Выражение будет примерно таким:
/\<a\s+href\=(.*?)\>(.*?)\<\/a\>/smi
3. DeepVarvar - 08 Июля, 2011 - 12:55:00 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_match_all('$<a.+href="((?!(?:mailto:|#|javascript:)).*?)".+$im',$text,$links);

В массиве $links будут ваши ссылки.
4. Kubert - 08 Июля, 2011 - 12:55:50 - перейти к сообщению
спасибо. всем плюсанул! Радость
(Добавление)
EuGen пишет:
http://php.su/functions/?preg_match_all

Выражение будет примерно таким:
/\<a\s+href\=(.*?)\>(.*?)\<\/a\>/smi


а что такое /smi?

 

Powered by ExBB FM 1.0 RC1