Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Достать ссылки из txt
iskiz  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 16
Пользователь №: 30986
На форуме: 5 лет, 4 месяца, 21 день
Карма:




Здравствуйте посетители форума.
Есть 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 написал(а):
Спасибо. Помогло. Удачи Вам.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса