За последние 24 часа нас посетили 21164 программиста и 1635 роботов. Сейчас ищут 1474 программиста ...

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

Тема в разделе "Регулярные выражения", создана пользователем HEMASTER, 1 май 2011.

  1. HEMASTER

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

    С нами с:
    1 май 2011
    Сообщения:
    14
    Симпатии:
    0
    Не понимаю ничего в регулярных выражениях, поэтому пожалуйста подскажите какой код нужно вставить чтобы все заработало...
    Задача такая: В БД есть поля с таким текстом: <img src=news/image-52.jpg> Как вытащить слово image-52 в переменную?
     
  2. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
  3. HEMASTER

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

    С нами с:
    1 май 2011
    Сообщения:
    14
    Симпатии:
    0
    Извиняюсь может за глупый вопрос.. а в какой переменной будет нужное мне значение imrrage-50?

    Код (Text):
    1. <?php
    2. $txt = '<img src=news/imrrage-50.jpg>';
    3. preg_match_all('/\<img src=news\/(.+)\>/Ui',$txt,$res);
    4. print '<pre>';
    5. print_r ($res[1]);
    6. ?>
    В результате выводит
    Array
    (
    [0] => imrrage-50.jpg
    )

    а мне нужно получить imrrage-50 и занести в какую нибудь переменную
     
  4. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    ой проглядел

    PHP:
    1. <?php
    2.  
    3. $txt = '<img src=news/imrrage-50.jpg>
    4. rhtyhty<img src=news/image-51.jpg>eghrhlp;o0
    5. rhtyhty<img src=news/image-52.jpg>eghrhlp;werwr  bo0
    6. er<img src=news/imarrrge-53.jpg>wfwfwfwj oi;9yr
    7. ert<img src=news/image-54.jpg>fwfwetyj8i
    8. ere<img src=news/imaeeege-55.gif>fwfwfl; 5ok9gd
    9. ert5ghnju<img src=news/ima333ge-56.png>jhlhrww  jhrt u
    10. oo  i<img src=news/imarge-57.jpg>jlit
    11. yssdgyt<img src=news/image-58.jpg>';
    12. preg_match_all('/\<img src=news\/(.+)\..{3}\>/Ui',$txt,$res);
    13. print '<pre>';
    14. print_r ($res[1]);
     
  5. HEMASTER

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

    С нами с:
    1 май 2011
    Сообщения:
    14
    Симпатии:
    0
    а в какой переменной будет результат? как например вывести его через echo? Это echo $res[1]; получается массив какой то...
     
  6. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    вы не можете работать с массивом ? [​IMG]
     
  7. HEMASTER

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

    С нами с:
    1 май 2011
    Сообщения:
    14
    Симпатии:
    0
    Мне стыдно) для меня это трудно все доходит... я же не программист...
     
  8. HEMASTER

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

    С нами с:
    1 май 2011
    Сообщения:
    14
    Симпатии:
    0
    На сколько я понимаю или не понимаю..) вот это должно давать результат echo $res[0]; но все равно пишет Array. Помоги горе программисту?)
     
  9. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    PHP:
    1. <?php
    2.  
    3. for ($i=0; $i<count($res[1]); $i++) {
    4. print $res[1][$i];
    5. print '<br>';
    6. }
    массив двухмерный просто :D
     
  10. HEMASTER

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

    С нами с:
    1 май 2011
    Сообщения:
    14
    Симпатии:
    0
    Большое спасибо! Буду учиться...