Есть txt документ из которого нужно оставить только ссылки. Написал такой код:
<?php
$file = file_get_contents ('asd.txt');
preg_match_all('/(href=")(.*?)(")/i',$file,$patterns);
Echo $patterns[2];
?>
И назвал его parce.php. Документ asd.txt лежит в папке с пхп файлом. По запросу к parce.php вижу только слово "Array".
Я пхп только осваиваю. Подскажите, что я сделал не так? Спасибо.
Желательно чтобы ссылки имели вид(одна ссылка на строке):
ссылка
ссылка
ссылка
Спустя 21 минута, 39 секунд (3.01.2012 - 15:36) inpost написал(а):
echo '<pre>'.print_r($patterns,1).'</pre>';
Смотрим что имеем. А правильно вывести элемент массива, да это самое простое. Главное посмотреть, что попало в массив!
Спустя 34 минуты, 15 секунд (3.01.2012 - 16:11) iskiz написал(а):
Цитата (inpost @ 3.01.2012 - 12:36) |
echo '<pre>'.print_r($patterns,1).'</pre>'; Смотрим что имеем. А правильно вывести элемент массива, да это самое простое. Главное посмотреть, что попало в массив! |
Наверно я неправильно расписал. У меня txt документ имеет вид:
тект тект тект тект тект тект тект href="ссылка" тект тект тект тект тект тект тект href="ссылка" тект тект тект тект тект тект тект href="ссылка" тект тект тект тект тект тект тект href="ссылка" тект тект тект тект тект тект тект href="ссылка" тект тект тект тект тект тект тект href="ссылка"
И нужно чтобы я получил только ссылки, без окружающего текста. С таким кодом:
<?php
$file = file_get_contents ('asd.txt');
preg_match_all('/(href=")(.*?)(")/i',$file,$patterns);
echo '<pre>';
print_r($patterns);
echo '</pre>';
?>
Мне выдает вот такое:
Array
(
[0] => Array
(
)
[1] => Array
(
)
[2] => Array
(
)
[3] => Array
(
)
)
А нужно, чтобы показало все ссылки из txt документа. Подскажите что подправить нужно, чтобы заработало? Спасибо.
Спустя 16 минут, 20 секунд (3.01.2012 - 16:27) inpost написал(а):
iskiz
Если не пойдет, экранизируй кавычки и равно.
'/href="(.*)"/iusU'
Если не пойдет, экранизируй кавычки и равно.
Спустя 22 минуты, 4 секунды (3.01.2012 - 16:49) iskiz написал(а):
<?
$file = file_get_contents ('asd.txt');
preg_match_all('/href\="(.*)"/iusU',$file,$patterns);
echo '<pre>';
print_r($patterns);
echo '</pre>';
?>
Пробовал экранизировать. Выдает вот такое:
Array
(
[0] => Array
(
)
[1] => Array
(
)
)
Всего 3 строчки кода, ничего пока не выходит :(
Подскажите что не так? Спасибо за ответы.
Спустя 18 минут, 30 секунд (3.01.2012 - 17:08) inpost написал(а):
У тебя точно ЮТФ и файл и скрипт? Кодировка везде выставлена? И там и там? Когда обращаешься к файлу file_get_contents ты пробовал вывести содержимое и проверить, всё ли впорядке?
Спустя 8 минут, 3 секунды (3.01.2012 - 17:16) iskiz написал(а):
Да - все работает. Нашел ошибку у себя. Спасибо.
А подскажите можно сделать так, чтобы небыло вот этого:
А просто:
А подскажите можно сделать так, чтобы небыло вот этого:
Array
(
[0] => Array
(
[0] => ссылка
[1] => ссылка
[2] => ссылка
А просто:
ссылка
ссылка
ссылка
Спустя 5 минут, 54 секунды (3.01.2012 - 17:22) inpost написал(а):
Работа с массивами.
foreach($patterns[0] as $v)
echo $v.'<br />';
Спустя 1 час, 22 минуты, 6 секунд (3.01.2012 - 18:44) iskiz написал(а):
Спасибо. Помогло. Удачи Вам.