За последние 24 часа нас посетили 64089 программистов и 1741 робот. Сейчас ищут 839 программистов ...

Обрезать строку, получить id

Тема в разделе "PHP для новичков", создана пользователем viphost, 24 янв 2013.

  1. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Сегодня головняк был полный и уже не соображаю, даже самое простое сделать не могу, прошу помощи
    Есть строка/урл вида
    Код (Text):
    1. name-title-name-title-5
    5- айди новости
    нужно получить только айди
    Извиняюсь за такие вопросы, нужно просто срочно, а не соображаю уже =) надо проспаться

    Добавлено спустя 18 минут 15 секунд:
    Код (Text):
    1. substr(strrchr($r, '-'), 1)
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. $str=explode('-','name-title-name-title-5');
    2. $str=$str[sizeof($str)-1];
    3. echo $str;
    Код (PHP):
    1. $str="name-\ntitle-\nname-\ntitle-\n5";
    2. $str=substr(strrchr($str,10),1);
    3. echo $str;
    Код (PHP):
    1. $str='name-title-name-title-5';
    2. $str=substr($str,strlen($str)-1,1);
    3. echo $str;

    Пожалуй первый вариант самый эффективный...
    Думаю если еще посидеть. то тут еще всплывет вариантов =)))
    с теме же регулярками и еще какой-нибудь лабуды =)
     
  3. gromdron

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

    С нами с:
    10 авг 2012
    Сообщения:
    14
    Симпатии:
    0
    Код (Text):
    1. <?php
    2. $string = 'name-title-name-title-5';
    3. $pattern = "/([a-zA-Z-]+)-([0-9]+)/i";
    4. $replacement = "$2";
    5. echo preg_replace($pattern, $replacement, $string);
    6. ?>
    Не тестировалось, да и опыта мало в регулярках, но должно помочь