Показано с 1 по 8 из 8

Тема: Нужна помощь! Perl скрипт для поиска выражения по шаблону?

  1. #1

    Нужна помощь! Perl скрипт для поиска выражения по шаблону?

    Доброе время суток..
    Мне нужна помощь .. для написания одного модуля..
    Что касается задачи .. то она такая..
    Имеется переменная $test="<DIV align="JUSTIFY" >Введите текст для страницы
    [img]C:My Documents\05_JPG.JPG[/img]</DIV>";
    Скрипт при обработки данной переменной должен найти ссылку на картинку и поместить ее в массив @arr (таких ссылок может быть много 'src="C:My Documents5_JPG.JPG"' )
    После чего происходит измение данной ссялки src="C:My Documents5_JPG.JPG" на что-то подобное src="image/05_JPG.JPG"
    и аналогичным образом происходит изменения если таких линков много ..
    Надеюсь на то что вы поможите мне решить эту задачу..
    Принципиально решить эту задачу по средствам Perl

  2. #2
    Предлагаю тебе самому изучить регулярные выражения

    Если собираешься работать серьезно - читай книгу "Регулярные выражения. Библиотека программиста" (авт. Фридл Дж. , изд. Питер, 2003).

  3. #3
    Что касается меня то вот пока только наработка ..
    А что касается серьезности .. то я думаю что это серьезно
    my $t=<<'HTML';
    <DIV align="JUSTIFY" >Не редактированая страница

    [img]C:My Documents\05_JPG.JPG[/img]
    Да вот решил побаловатся .. гыгыгыгыг
    h[img]C:My Documents\05_JPG.JPG[/img]
    [img]C:My Documents\05_JPG.JPG[/img]
    </DIV>
    HTML



    $i=1; # Установка нумератора картинок
    @pic=(); # Обнуление массива для записи картинок
    &req($t); # Кто его знает но надо гыгыгыгы

    sub req # Выдирание тегов с картинками (для дальнейшей обработки и закачки на сервер)
    {
    if($t=~m%(<IMG (.*?)>)%igs) # Условие обнаружения тега с картинками
    {
    push(@pic,$1); # Пополнение массива где лежат теги картинок
    $pic=$1;
    $t=~s/(<IMG (.*?)>)/<imagi path from @pic $i>/; # Замена в тексте новым тегом ..
    $i++;
    &req($t);
    }
    return $t;
    }

    print "<hr>$t<hr>";
    print "Массив картинок
    @pic";

  4. #4
    У кого есть какие замечания .. и предлажения

  5. #5

    Регистрация
    16.06.2004
    Адрес
    Москва, ЮЗАО
    Сообщений
    1
    У меня есть вопрос. Только одна переменная $test содержит в себе 1-н большой кусок кода, где n раз встречается кусок типа «...src="C:My Documents5_JPG.JPG"...», n?N, да?

  6. #6
    Да .. это так.. так вот .. из нее мы и выбираем ... все эти пути . ля дальнейшей еих замены..
    В чем суть вопроса то?

  7. #7

    Регистрация
    02.07.2004
    Сообщений
    2
    Вот прога с коментами
    Код:
    #!perl
    
    
    
    use strict;
    
    my $Link; * * * * # <-- some html here
    
    my $NEW_PATH = '/images';
    
    # <--- for test anly, remove below --->
    
    $Link = '
    
    <DIV align="JUSTIFY" >
    
     *Введите текст для страницы
    
    
     *[img]C:My Documents\01_JPG.JPG[/img]
    
     *[img]C:My Documents\02_JPG.JPG[/img]
    
     *[img]C:My Documents\03_JPG.JPG[/img]
    
     *[img]C:My Documents\04_JPG.JPG[/img]
    
     *[img]C:My Documents\05_JPG.JPG[/img]
    
     *[img]C:My Documents\06_JPG.JPG[/img]
    
     *[img]C:My Documents\07_JPG.JPG[/img]
    
    </DIV>
    
    ';
    
    # <--- for test anly, remove above --->
    
    
    
    my @PicURLs = (); # <-- picture URLs here
    
    
    
    # <-- put all IMG URLs into array -->
    
    while($Link =~ m/<s*img.*srcs*="(.*)".*>/ig)
    
    {
    
     *push(@PicURLs,$1);
    
    }
    
    # <--------------------------------->
    
    
    
    # <-- change all OLD_PATH (i.e. c:My DDocuments) to NEW_PATH (i.e. /images) -->
    
    $Link =~ s/(<s*img.*srcs*=").*[|/](.*)(".*>)/$1$NEW_PATH/$2$3/mig;
    
    # <--------------------------------->
    
    
    
    
    
    # <--- Print results --->
    
    foreach my $picurl (@PicURLs)
    
    {
    
     *print "$picurln";
    
    }
    
    print $Link,"n";

  8. #8
    За прогу спасибо .. сейчас ббудем проверять ..

Похожие темы

  1. Нужна помощь.
    от stalin9006 в разделе 3D-технологии
    Ответов: 1
    Последнее сообщение: 18.04.2008, 02:56
  2. Нужна помощь!!!!!
    от Sonyanw в разделе Векторная графика
    Ответов: 2
    Последнее сообщение: 08.11.2007, 14:29
  3. Проблема с оператором поиска по шаблону m// в PERL
    от AMIGO87 в разделе Веб-программирование
    Ответов: 0
    Последнее сообщение: 05.01.2007, 02:48
  4. нужна помощь
    от Lolochka в разделе Печать и препресс
    Ответов: 2
    Последнее сообщение: 19.12.2006, 07:40
  5. Нужна помощь
    от SergeG в разделе Растровая графика
    Ответов: 4
    Последнее сообщение: 04.07.2006, 21:00

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •