PHP: лучший способ обрезать подстроку из строки

Хотите обработать набор строк и обрезать некоторые окончания «myEnding» с конца каждой строки, если она существует .

Каков самый простой способ сделать это? Я знаю, что все возможно с помощью регулярного выражения, но, похоже, это простая задача, и мне интересно, существует ли более простой инструмент для этого.

благодаря

Gidi

ima идет с preg_replace на этом.

 $output = preg_replace('/myEnding$/s', '', $input); 

Попробуй это:

 $s = "foobarmyEnding"; $toRemove = "myEnding"; $len = strlen($toRemove); if (strcmp(substr($s, -$len, $len), $toRemove) === 0) { $s = substr($s, 0, -$len); } 

ideone

rtrim http://php.net/manual/en/function.rtrim.php

 $str = "foobarmyEnding"; $str = rtrim($str, 'myEnding'); // str == "foobar" 

ltrim – та же самая сделка для начала строки http://php.net/manual/en/function.ltrim.php

Вы также можете использовать str_replace, чтобы заменить поисковый запрос пустой строкой, но ее медленнее, чем rtrim / ltrim, если вам нужно изменить начало или конец строки