За последние 24 часа нас посетили 17845 программистов и 1656 роботов. Сейчас ищут 2049 программистов ...

Нужен парсер для удаления квадратных скобок и содержимого.

Тема в разделе "PHP Free-Lance", создана пользователем Dima4321, 30 ноя 2009.

  1. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Всем привет.

    Имеется куча html файлов.

    Нужен парсер такого смысла.

    В тексте часто встречаются квадратные скобки с цифрой. типа

    [45] [1] [23] [11] и т.п возможно даже будет просто [] без цифры.




    Задача. Нужно удалить это ххховно. Чтоб остался только текст без этих скобок с цифрами или просто скобок

    Не стоит забывать, что просто цифры без скобок удалять не надо...т.к они несут смысл..типа даты рожения ..события и т.п

    Все это встречается в таком диве. И весь парсер надо применить именно к этому блоку ( диву)
    <div class="block4"> текст с хххоооовном</div>

    Т.к большими средствами не располагую---могу предложить на данный момент 200 р. Либо webmoney либо на телефон !!

    Очень прошу помочь!!!
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Не проверял
    PHP:
    1.  
    2. <?php
    3. $dirname = dirname(__FILE__);
    4. $dir = scandir($dirname);
    5.  
    6. for ($i = 2; $i < sizeof($dir); $i++) {
    7.  
    8.     if (is_file($dir[$i])) {
    9.         $content = file_get_contents($dirname.$dir[$i]);
    10.         $content = preg_replace('~\[[0-9]*\]~is', '', $content);
    11.         file_put_contents($dirname.$dir[$i], $content);
    12.    
    13.     }
    14.  
    15. }
    Кинуть в папку с файлами
     
  3. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Привет Крекер.

    Не работает...скрипт проходит загрузку в опере без проблем..но с html ками ничего не происходит.
     
  4. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    и у тебя вроде как данный код применяется ко всему html, а не к <div class="block4"> текст с хххоооовном</div>

    Это не есть хорошо..надо ужесточить поиск именно в этой области.
     
  5. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Dima4321
    думаю скрипт лучше заработает с материальной поддержкой...
     
  6. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    я же предложил 200 рублей..читай внимательно
     
  7. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Жеесть =)
    PHP:
    1. <?
    2. $dir=dirname(__FILE__);
    3. $fp=scandir($dir);
    4. if($fp[3]){
    5.    for($i=2,$c=count($fp);$i<$c;$i++){
    6.         if($fp[$i]==ltrim($_SERVER['PHP_SELF'],"/")) continue;
    7.         $file=$dir.'/'.$fp[$i];
    8.         if(is_file($file)){
    9.            if(is_writable($file) && is_readable($file)){
    10.                $fc=file_get_contents($file);
    11.                $fc=preg_replace_callback("#<div\s+class=\"block4\">(.+?)<\/div>#is",
    12.                                                         create_function('$m','return preg_replace("#\[\d*\]#","",$m[0]);'),
    13.                                                         $fc);
    14.                file_put_contents($file,$fc);
    15.            }else print "Can't open file $file<br>";
    16.        }
    17.    }
    18.   print "The End<br>";
    19. }else print "Dir is empty<br>";
    20. ?>
     
  9. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Походу счастливый обладатель приза снова талантливый Mr.M.I.T.

    Mr.M.I.T. Все хорошо, только я тут обнаружил , что в квадратных скобках в моем тексте бывают и слова..что тоже является ересью..и даже многоточие.

    Доработай пожалуйста код так ...чтоб он удалял все квадратные скобки как с цифрами так и с любыми символами

    т.е удалял

    [12390]
    [adfgGH]
    [...] --любой символ
    [,,,]--любой символ
    [ ]
    вот все такое борохло мне и надо выкинуть.
    Вообщем выкинуть все что заключено в эти квадртыные скобки вместе с ними же применительно именно к блоку 4.
     
  10. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    PHP:
    1. <?
    2.   $dir=dirname(__FILE__);
    3.   $fp=scandir($dir);
    4.   if($fp[3]){
    5.     for($i=2,$c=count($fp);$i<$c;$i++){
    6.           if($fp[$i]==ltrim($_SERVER['PHP_SELF'],"/")) continue;
    7.           $file=$dir.'/'.$fp[$i];
    8.           if(is_file($file)){
    9.             if(is_writable($file) && is_readable($file)){
    10.                 $fc=file_get_contents($file);
    11.                 $fc=preg_replace_callback("#<div\s+class=\"block4\">(.+?)<\/div>#is",
    12.                                                           create_function('$m','return preg_replace("#\[.*?\]#","",$m[0]);'),
    13.                                                           $fc);
    14.                 file_put_contents($file,$fc);
    15.             }else print "Can't open file $file<br>";
    16.         }
    17.     }
    18.     print "The End<br>";
    19.   }else print "Dir is empty<br>";
    20.   ?>
     
  11. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Все работает .

    Пиши в личку куда посылаем денюшку на сей раз..??))