Технологии

Решено

есть строка $a="/1/23/456/789/10/"; Как можно... - вопрос №797531

есть строка $a="/1/23/456/789/10/"; Как можно удалить до такого регулярным выражением: $a="/1/23/456/789/";

октябрь 19, 2013 г.

  • Всего ответов: 4

  • Васкевич Александр Николаевич - аватарка

    Васкевич Александр Николаевич

    55-й в Технологиях

    substr(«строка», кол знаков )

    <?php
    $rest 
    substr(«abcdef», -1);    // возвращает «f»
    $rest substr(«abcdef», -2);    // возвращает «ef»
    $rest substr(«abcdef», -31); // возвращает «d»
    ?>

    октябрь 20, 2013 г.
  • Дмитрий - аватарка

    Дмитрий

    156-й в Технологиях

    Если нужно просто удалить в конце ненужный кусок строки, то как уже писали — используйте substr(). Если кол-во символов после искомого фрагмента меняется, то тогда регуляркой:

    $a="/1/23/456/789/10/"; // где ищем

    $pattern = "'^(/1/23/456/789/)[\w/]*'"; //шаблон поиска

    $replacement = "/1/23/456/789/"; //на что меняем

    echo preg_replace($pattern, $replacement, $a);

    октябрь 21, 2013 г.
    Ответ понравился автору
    Лучший ответ по мнению автора
  • function Rpars($a,$p,$options){function s($a,&$b){$b=$b.$a;}$m=explode($p,$a);$sum=count($m);for($i=1;$i<=$sum-2-$options;$i++){s($p.$m[$i],$z);}$p=$z.$p;return $p;}

    /*********

    $a="/1/23/456/789/10/";

    $b=Rpars($a,"/",1);

    Выведет

    $b="/1/23/456/789/";

    //********

    Если:

    $b=Rpars($a,"/",2);

    Выведет

    $b="/1/23/456/";

    Вообще без регулярки чистый PHP.

    ноябрь 8, 2013 г.
  • Зимин Вадим - аватарка

    Зимин Вадим

    55-й в Технологиях

    $a = explode("/",$a);
    array_pop($a);
    array_pop($a);
    $a = implode("/",$a);
    $a = $a."/";

    ноябрь 21, 2013 г.

Похожие вопросы

Решено

Закрыт

vip

регулярные выражения

март 12, 2014 г.

Технологии