2014-10-15 4 views
1

В чем проблема с этим кодом? Я не понимаю. Это код ошибки:Преобразование массива в строку

Примечание: Массив для преобразования строки в C: \ XAMPP \ HTDOCS \ этап \ ripper.php на линии 12 Массив Blockquote

Примечание: Массив для преобразования строки в C: \ XAMPP \ HTDOCS \ этап \ ripper.php на линии 13 Массив

<?php 
header('Content-Type: text/html; charset=utf-8'); 

$url = "http://www.asaphshop.nl/epages/asaphnl.sf/nl_NL/ObjectPath=/Shops/asaphnl/Products/80203122"; 
$htmlcode = file_get_contents($url); 
$pattern = "/itemprop=\"description\"\>(.*)\<\/div\>(.*)\<li\>Taal:(.*)\<\/li\>(.*)\>(.*)\<\/div\>\<li\>(.*)\data-src-l\<\/li\>/sU"; 
preg_match_all($pattern, $htmlcode, $matches); 
Print_r ($matches); 
$description =($matches[1]); 
$language = ($matches[3]); 
echo $description; 
echo $language 
?> 
+1

Что скобки делают вокруг операндов в строках 12 и 13? – arkascha

ответ

4

При использовании preg_match_all, $matches является 2-мерным массив. Таким образом, $matches[1] и $matches[3] являются одновременно массивами. echo работает только с числами или строками, поэтому вы получаете предупреждение при попытке эха массива. Если вы хотите увидеть, что в них, используйте print_r() или var_dump():

print_r($description); 
print_r($language); 
+0

благодарит за быстрый ответ! но все мои массивы пусты, а внутри них должно быть много текста. как я могу это решить? – bananaman

+1

Если они пустые, это потому, что эти части регулярного выражения не соответствуют чему-либо. – Barmar

Смежные вопросы