Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как вывести скриптом html-код документа? 
:(
    Опции темы
4YBAK
Дата 24.10.2006, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2006

Репутация: нет
Всего: нет



Тема вот в чем.
Помогите замутить скрипт, который:
1) юзверь вводит произвольный УРЛ в форму и тычит кнопку ОК
2) скрипт выводит html  код документа, расположенного по введенному юзвером адресу.
3) не просто выводит, а отображает его с подсветкой тегов красным шрифтом и атрибутов синим.

Даже не наю, как подступиться, хотя вроде пустиковая задачка. Хелп ми плиз!

PM MAIL   Вверх
-=Ustas=-
Дата 25.10.2006, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



Сокеты + рег.выражения + ПОИСК ПО ФОРУМУ, ТЕМ ТАКИХ НАВАЛОМ!!!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
4YBAK
Дата 26.10.2006, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2006

Репутация: нет
Всего: нет



Кое-чего в поиске нарыл.
Этим кодом выводица html-код файла file.html

Код

$content = file_get_contents('./file.html');
$content = htmlspecialchars($content, ENT_QUOTES);
echo $content;


а как мне теперь поменять цвет тегов и атрибутов?
ну например:
<a href=www.rambler.ru>rambler</a>
Надо чтобы <a  и </a>   было красным шрифтом, href синим.
И так со всеми тегами.
Наскоко я понимаю, надо заводить массив, в который загонять все html теги, и второй массив с html атрибутами?




PM MAIL   Вверх
korisarimi
Дата 26.10.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 9.5.2006

Репутация: нет
Всего: 1



Никакие массивы не нужны, составь регулярное выражение.
PM MAIL   Вверх
4YBAK
Дата 26.10.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2006

Репутация: нет
Всего: нет



Не подскажешь толковую инфу по регвырам? (в эл. виде)
А то я плохо в них рублю smile
PM MAIL   Вверх
-=Ustas=-
Дата 26.10.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



Цитата(4YBAK @  26.10.2006,  15:38 Найти цитируемый пост)
Не подскажешь толковую инфу по регвырам? (в эл. виде)
А то я плохо в них рублю 

Найди книгу Джона Фридла - Регулярные выражения, в инете доступна в эл.варианте. Советую.

Добавлено @ 16:08 
Ну и с этим можешь ознакомиться - http://ru.php.net/manual/ru/reference.pcre...tern.syntax.php


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Eugene_Bond
Дата 26.10.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 3.9.2006

Репутация: 1
Всего: 4



Зачем регулярные выражения?
Ставь модуль colorer или работай с оригинальным "раскрасщиком" напрямую. Багов будет меньше однозначно smile
PM MAIL   Вверх
4YBAK
Дата 26.10.2006, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2006

Репутация: нет
Всего: нет



colorer он походу только для никсов (там ток tgz архивы), а у меня винда

Добавлено @ 21:55 
ребят, помогите, плиз, составить этот несчастный регвыр!  У меня уже мозги кипят!
Плиз, если не трудно.
PM MAIL   Вверх
-=Ustas=-
Дата 27.10.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



4YBAK, вот тебе элементарный базовый пример накатал:
Код

<?php

function GetFile($url)
{
    $purl = parse_url($url);
    $host = $purl['host'];
    $page = '';
    $headers = '';

    if ($socket = fsockopen($host, 80, $errno, $errstr, 30)) {
        
        if (isset($purl['path'])) {
            $headers .= "GET ".$purl['path']." HTTP/1.0\r\n";
        } else {
            $headers .= "GET / HTTP/1.0\r\n";
        }
        
        $headers .= "Accept: */*\r\n";
        $headers .= "Accept-Language: ru\r\n";
        $headers .= "Referer: My Referer\r\n";
        $headers .= "Host: ".$purl['host']."\r\n";
        $headers .= "User-Agent: UserAgent/1.0\r\n";
        $headers .= "Connection: Close\r\n\r\n";

        fputs($socket, $headers);

        while (!feof($socket)) {
            $page .= fgets($socket);
        }
        fclose($socket);

        $page = substr($page, (strpos($page, "\r\n\r\n") + 4), strlen($page));

        return $page;

    } else {
        return FALSE;
    }
}

$string = GetFile('http://domain.ru');

$string = htmlspecialchars($string);

$string = preg_replace('#(?:([A-Za-z\-]+\=(?:&quot;|\'|\s)(:?.*)(?:&quot;|\'|\s)))#iU', '<font color="green">\\1</font>', $string);
$string = preg_replace('#(&lt;(.*)&gt;)#iU', '<font color="red">\\1</font>', $string);

echo '<pre>';
echo $string;

?>

Работает нормально, если захочешь лучше сделать, то учи реги ;)


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
SamDark
Дата 27.10.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 4
Всего: 38



Кстати, можно и GeShi попользовать.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
4YBAK
Дата 27.10.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2006

Репутация: нет
Всего: нет



-=Ustas=-
Огромное спасибо!
Теперь будет гораздо легче!

зы. регвыры - это капец гемор! smile
Программирование, походу, вооще не мое smile
Пойду-ка я лучше баранку крутить smile
PM MAIL   Вверх
-=Ustas=-
Дата 27.10.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



Цитата(4YBAK @  27.10.2006,  15:17 Найти цитируемый пост)
зы. регвыры - это капец гемор!

регвыры - это сила


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
4YBAK
Дата 27.10.2006, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2006

Репутация: нет
Всего: нет



а существует ли редактор регвыров, в который просто указываешь, что нужно, и он генерит готовый регвыр?
PM MAIL   Вверх
-=Ustas=-
Дата 28.10.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 6
Всего: 69



Цитата(4YBAK @  27.10.2006,  22:45 Найти цитируемый пост)
а существует ли редактор регвыров,

Конечно - Дж.Фридл "Регулярные выражения".  Прочитаешь и будешь генерить регвыры лучше всяких программ.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
4YBAK
Дата 28.10.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2006

Репутация: нет
Всего: нет



дай ссылку плиз!
и еще, может посоветуешь по сокетам че-нить толковое?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0857 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.