[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: парсер страниц
Гость_qetbn
Часто сталкиваясь с проблемой, когда нужно что-то изменить в большом количестве файлов, написал простенький парсер. Надеюсь, будет полезно:
PHP
$dir ".";
$what file_get_contents("what.txt");
$with file_get_contents("with.txt");
if (
is_dir($dir)) {
    if (
$dh opendir($dir)) {
        while ((
$file readdir($dh)) !== false) {
                if (
ereg ("(.*).html"$file)) {
                        echo 
"<b>[debug]</b> parsing $file<br />";
                        
$xml_code file_get_contents($file);
                        
$xml_code str_replace($what,$with,$xml_code);
                        
unlink($file);touch($file);
                        
$handle fopen($file'r+');
                        
fwrite($handle$xml_code);
                        
fclose($handle);
                }
        }
        
closedir($dh);
    }
}
function 
gentime() {
    static 
$a;
    if(
$a == 0$a microtime(true);
    else return (string)(
microtime(true)-$a);
}
echo 
"<br /><b>[debug]</b> parsing is done<br />";gentime();
echo 
'<br />Выполнено за <u>'.gentime().'</u> секунд.<br />';




Спустя 6 минут, 45 секунд (31.07.2009 - 11:29) Sylex написал(а):
Гость_qetbn
не будет

Спустя 2 минуты (31.07.2009 - 11:31) jetistyum написал(а):
ну обычную поиск-замену поддерживает много текстовых редакторов, думаю ими всетаки удобнее будет...
а вот блок - unlink-touch-fopen-fwrite можно заменить на fopen($file, 'w')-fwrite
и еще, если не ошибаюсь, то static переменные относятся только к ооп, ты наверное перепутал с global

Спустя 1 минута, 2 секунды (31.07.2009 - 11:32) jetistyum написал(а):
а еще очень интересный подсчет времени выполнения скрипта biggrin.gif laugh.gif

Спустя 2 часа, 22 минуты, 22 секунды (31.07.2009 - 13:54) Гость_qetbn написал(а):
не для порки выкладывал. ну да ладно tongue.gif

Спустя 1 час, 50 минут, 34 секунды (31.07.2009 - 15:44) Sylex написал(а):
Цитата (jetistyum @ 31.07.2009 - 14:31)
static переменные относятся только к ооп


не только, они также есть в функциях, очень удобная штука wink.gif

Спустя 13 минут, 39 секунд (31.07.2009 - 15:58) jetistyum написал(а):
Sylex
неужели я пропустил! sad.gif
а какую роль они играют (static переменные) вне ооп? я вот не могу представить что есть статическая переменная вне ооп...

Спустя 4 часа, 48 минут, 58 секунд (31.07.2009 - 20:47) Sylex написал(а):
jetistyum
static сохраняет свое значение внутри функции:

PHP
<?php
function Test
()
{
    static $a = 0;
    echo $a;
    $a++;
}
Test();
Test();
Test();


понятно, что кучу вещей удобных можно делать

Спустя 2 часа, 50 минут, 10 секунд (31.07.2009 - 23:37) jetistyum написал(а):
Sylex, ты что-то напутал. ты обьявляешь переменную, назначаешь ее равную 0, потом эхаешь её, потом увеличиваешь, снова назначаешь нулю.. снова эхаешь.. убери static ничего не изменится... поставь global, ничего не изменится, раз ты каждый раз ее нулем назначаешь.
НЕ УБЕДИЛ,

Спустя 5 часов, 55 минут, 32 секунды (1.08.2009 - 05:33) Sylex написал(а):
jetistyum
у меня нет цели в чем-то убеждать тебя, это тебе если надо - запустишь и увидишь результат wink.gif

Спустя 5 часов, 50 минут, 3 секунды (1.08.2009 - 11:23) jetistyum написал(а):
Sylex
Прошу прощения, вчера я тестил, но на сонную голову видимо не досмотрел, что скрипт возвращает 012, или просто тупанул )))
Твоя правда! Я действительно не использовал никогда статические переменные вне ООП, когда нужно было что-то такое, использовались глобальные.
Бум знать!

Спустя 8 часов, 14 минут (1.08.2009 - 19:37) kirik написал(а):
Цитата (jetistyum @ 1.08.2009 - 03:23)
Я действительно не использовал никогда статические переменные вне ООП, когда нужно было что-то такое, использовались глобальные.

Я тож.. unsure.gif Sylex спасибо! Глаза открыл! smile.gif

Спустя 11 месяцев, 9 дней, 6 часов, 53 минуты, 23 секунды (11.07.2010 - 02:30) Guest написал(а):
Нужна по

Спустя 6 часов, 33 минуты, 56 секунд (11.07.2010 - 09:04) Ineed$ написал(а):
И я свои 5 копеек вставлю. ereg скоро не будет работать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.