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

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

19.10.13
4 ответа

Лучший ответ по мнению автора

Если нужно просто удалить в конце ненужный кусок строки, то как уже писали — используйте 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.10.13
Лучший ответ по мнению автора

Другие ответы

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

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

20.10.13

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.

08.11.13

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

21.11.13

Виталий

Читать ответы

Дмитрий

Читать ответы

Alexander

Читать ответы
Посмотреть всех экспертов из раздела Технологии > PHP
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store