Как удалить часть строки после последней запятой в PHP?Как удалить часть строки после последней запятой в PHP
Строка: "this is a post, number 1, date 23, month 04, year 2012"
Ожидаемое: "this is a post, number 1, date 23, month 04"
Как удалить часть строки после последней запятой в PHP?Как удалить часть строки после последней запятой в PHP
Строка: "this is a post, number 1, date 23, month 04, year 2012"
Ожидаемое: "this is a post, number 1, date 23, month 04"
$until = substr($string, 0, strrpos($string.",", ","));
Примечание: отредактированные на основе комментариев ниже
Вы хотите заменить последнюю запятую, а остальные , то есть запятой, за которой следует любой другой символ до en d строки.
Это может быть сформулирован как регулярное выражение, и что шаблон может быть заменен с помощью preg_replace
с пустой строкой:
$until = preg_replace('/,[^,]*$/', '', $string);
Это вариант mario's answer, который работает в случае, если нет запятой в строке как Что ж.
Действительно. Регулярное выражение часто лучше подходит, поскольку оно может одновременно утверждать и изменять строку. – mario
$tokens = explode(':', $string); // split string on : array_pop($tokens); // get rid of last element $newString = implode(':', $tokens); // wrap back
Вам следует добавить объяснение. На данный момент это всего лишь блок кода. –
Используйте strrpos (http://php.net/manual/en/function.strrpos.php) для поиска запятой, а затем подстроки. – nhahtdh