На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Реглярные выражения , неполучается :wall:
      ExpandedWrap disabled
        <?
        $mas_news=" sdl;fh skldjfh sjkfgb <img src=dr_g/drg/drg/drg/drg.gif>  dghl dfklsjh dfkjlbg kldfjgh dfjk";
        $mas_news=ereg_replace("(<img src=(([A-Za-z0-9.\/.\_.\-])*_))>.", "add/\\1" ,$mas_news);
        print $mas_news;
        ?>


      мне надо найти dr_g/drg/drg/drg/drg.gif и добавить к нему add например!

      Добавлено
      а мой код не работает так как надо в чем проблем(((
        Цитата VovikDRG @
        ([A-Za-z0-9.\/.\_.\-])*
        Интересно, какой в это вкладывался смысл?
          SiMM, поиск от адо z _ - и так далее и может повторятся несколько раз
            Зачем так сложно? Можно и без подшаблонов обойтись.
            ExpandedWrap disabled
              <?
              $mas_news=" sdl;fh skldjfh sjkfgb <img src=dr_g/drg/drg/drg/drg.gif>  dghl dfklsjh dfkjlbg kldfjgh dfjk";
              $mas_news=ereg_replace('src=([^>]+)', 'src=add/\\1' , $mas_news);
              print $mas_news;
              ?>
              Trustmaster, ПАсибо но было бы еще намного лутше))) если бы обяснили
              Цитата Trustmaster @
              'src=([^>]+)

              вот ето

              Добавлено
              def, к сожелению я не наю какая строчка просто я работаю над порталом и там идет импорт новостей из бд вот я прописую точний адрес рисунка))) но уже все помогли мне))

              Добавлено
              def,
              Trustmaster,
              SiMM, Пасиб за все))
                Просто обажаю переводить регулярные выражения на русский язык :lol:
                ExpandedWrap disabled
                  $mas_news=ereg_replace('src=([^>]+)', 'src=add/\\1' , $mas_news);

                Перевожу: ищем подстроку, содержащую сначала src=, после которой группируем в первый подшаблон (\\1) все символы, отличные от ">"; заменяем все это на src=add/ плюс подшаблон \\1. То ест, мы копируем в первый подшаблон весь тексто до закрывающей угловой скобки. Конечно, это только простейший метод. На самом деле лучше сделать с защитой от неправильного HTML и с поддержкой верхнего регистра и кавычек:
                ExpandedWrap disabled
                  <?
                  $mas_news=" sdl;fh skldjfh sjkfgb <img src=dr_g/drg/drg/drg/drg.gif>  dghl dfklsjh dfkjlbg kldfjgh dfjk";
                  $mas_news=eregi_replace('(<img src=)("|\')?([^>"\']+)("|\')?>', '\\1\\2add/\\3\\4>' , $mas_news);
                  print $mas_news;
                  ?>

                Но этот регэксп объяснять уже дольше :whistle:
                  Trustmaster, Еще раз пасиб)) мне и етого пока хватит)))
                    а можно мне //
                    а зачем в третем кавычки ......

                    они же в четвертом ????
                      Вот еще вариантец с поддержкой других аттрибутов:
                      ExpandedWrap disabled
                        <?
                        $mas_news=" sdl;fh skldjfh sjkfgb <img src=dr_g/drg/drg/drg/drg.gif>  dghl dfklsjh dfkjlbg kldfjgh dfjk";
                        $mas_news=eregi_replace('(<img[^>]* src=)("|\')?([^>"\']+)("|\')?([^>]*)>', '\\1\\2add/\\3\\4\\5>' , $mas_news);
                        print $mas_news;
                        ?>

                      Цитата
                      а можно мне //
                      а зачем в третем кавычки ......

                      они же в четвертом ????

                      Конечно можно ;) Но ведь в третьем-то они нам не нужны (мы их не должны копировать).
                      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0291 ]   [ 14 queries used ]   [ Generated: 18.05.24, 12:41 GMT ]