массивы — извлечение информации с помощью php preg_match_all

Я пытаюсь изменить скрипт для извлечения информации:

Есть страницы, например:

<ul class="tags">
<li><div class="tag"><a href="http://www.url1.com" title="url1">title 1</a></div></li>
<li><div class="tag"><a href="http://www.url2.com" title="url2">title 2</a></div></li>
</ul>

Я хотел бы получить название 1, название 2

У меня есть этот код:

$m=array();
preg_match_all("/<a href="(.*)" title="(.*)">(.*)<\/a>/i", $buff,$m);
$info['tags']=trim(strip_tags($m[3]));
$cats=array_map('trim',$cats);
$info['tags']=implode(',',$cats);

Но я получаю ошибки с trim и array_map.

Спасибо за вашу помощь.

0

Решение

Первая ошибка в вашем коде находится в 3-й строке:

$info['tags']=trim(strip_tags($m[3]));

Здесь для функции strip_tags должна быть задана строка в качестве аргумента, но $m[3] это массив. Быстрое исправление будет:

$info['tags']=array_map('strip_tags',array_map('trim',$m[3]));

$ Информация сейчас:

 знак равно> массив
(
[0] => название 1
[1] => название 2
)
[/ NOEDIT]

Чем применить функцию взрыва так:

$info['tags'] = implode(',', $info['tags']);

Ура, беа

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]