Чтение удаленного файла Http и регулярные выражения

Статус
Закрыто для дальнейших ответов.

diversant

Новичок
Регистрация
12.04.2006
Сообщения
3
Есть два вопроса !!
1.Народ подскажите плиз как можно прочитать удаленный файл с помощью пхп

Вот при такой структуре все работает читает файл index.php
$link ="http://www.моеимя.ru/";
@$file = fopen($link, "r")
-----------------------
А вот при такой никак не хочет читать ??? что делать ?? как правильно сделать??
$link ="http://www.моеимя.ru/view-10.htm";
@$file = fopen($link, "r")
-------------------------


2. Вопрос
Есть база данных в ней есть текст, но в этом тексе нужно убрать все теги картинок т.е. теги <img>всякая лажа</img>как это реализовать ???
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
к первому вопросу: убери подавление ошибок и скажи что тебе пишет пхп. и при safe_mode=on помоему нет доступа на удаленные файлы.

ко второму вопросу: strip_tags() применяй либо до записи в БД либо к выборке из нее.
 

diversant

Новичок
Регистрация
12.04.2006
Сообщения
3
к первому вопросу: убери подавление ошибок и скажи что тебе пишет пхп.

ко второму вопросу: strip_tags() применяй либо до записи в БД либо к выборке из нее.
1. По первому вопросу пхп пишет следующее
Warning: feof(): 4 is not a valid stream resource in z:\home\test1.ru\html\avto\index2.php on line 29

Warning: fread(): 4 is not a valid stream resource in z:\home\test1.ru\html\avto\index2.php on line 30

Warning: fclose(): 4 is not a valid stream resource in z:\home\test1.ru\html\avto\index2.php on line 35

2. По второму вопросу - ну тогда он же все теги уберет ??? а у меня тама стили прописаны в тексте мне просто от картинок надо избавиться :)
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
Ну для начала цитата с http://php.net
"Использование функции file_get_contents() наиболее предпочтительно в случае необходимости получить содержимое файла целиком, поскольку для улучшения производительности функция использует алгоритм 'memory mapping' "
1. По первому вопросу пхп пишет следующее
У тебя fopen не проходит ну пхп не может открыть указаный тобой урл... Обычно принято говорить введи правильный сайт, но я советую проверять фаерволы...
А так даже мыслей нету.. Всегда рбаотало...

2)
<?

if (!function_exists("stripos")) {
function stripos($str,$needle) {
return strpos(strtolower($str),strtolower($needle));
}
}


function remove_tag ( $tag , $data ) {

while ( eregi ( "<" . $tag , $data ) ) {
$it = stripos ( $data , "<" . $tag ) ;
$temp = substr ( $data , 0 , $it ) ;
$it2 = stripos ( $data , "</" . $tag . ">" ) + strlen ( $tag ) + 3 ;
$temp2 = substr ( $data , $it2 , strlen ( $data ) ) ;
$data = $temp . $temp2 ;
}

return $data ;

}
print remove_tag ( 'img' , '<a hrf="">test</a><img dfsads>аыф</img>' );
?>
Чуть доработай чтоб если тег не закрыт то не зависал!
 

diversant

Новичок
Регистрация
12.04.2006
Сообщения
3
Ну для начала цитата с http://php.net
"Использование функции file_get_contents() наиболее предпочтительно в случае необходимости получить содержимое файла целиком, поскольку для улучшения производительности функция использует алгоритм 'memory mapping' "

Почему то функция file_get_contents() вообще не хочет работать :(


1. По первому вопросу пхп пишет следующее
У тебя fopen не проходит ну пхп не может открыть указаный тобой урл... Обычно принято говорить введи правильный сайт, но я советую проверять фаерволы...
А так даже мыслей нету.. Всегда рбаотало...

Нет как раз помоему fopen то проходит я попробовал после всего прописать echo $file - дык он мне весь сайт показал а потом опять этиже ошибки в конце ??? и почему это вообще че то странное творится


А за второе спасибо будем юзать...
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
из мануала:
strip_tags ( string str [, string allowable_tags] )

следовательно, вторым параметром пишешь нужные тебе теги. да это гимор.

пример:
strip_tags($content,"<p><b><i><span><table><td><tr>");
уберет все, кроме <p><b><i><span><table><td><tr>, причем и закрывающие тоже
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
v0rbis, Собственно из коментов к этой функции я тот код и взял... Просто времени не было дописать его чуток, опаздывал...

Sasha, А локальный файл типо test.txt в каталоге скрипта открывает?

Ну кто там настраивать пхп умеет? Что можно сделать чтоб fopen не работал на удаленные файлы?
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
2DnAp:

емае, при сейфмод=вкл идет проверка на принадлежность процесса и текущей папки одному юзверю. и нифига на удаленку не проканает. я ведь писал выше.
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
Oopss... :blush:
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
Почитайте про сокеты, возможно если они разрешены, то можно с помощью них работать со страницами удаленного сайта
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
Код:
<?php

$page = "";
$page = file_get_contents("http://combats.ru/");

$page = strip_tags($page);

echo $page;

?>
Почитайте про сокеты, возможно если они разрешены, то можно с помощью них работать со страницами удаленного сайтах
Бред. Сокеты здесь непричем, мы не посылаем никаких заголовков, нам нужно всего лишь забрать страничку.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
А почему нет? fsockopen, послал простейший GET (1-2 строки) и гарантированно получил результат.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ