$string = "Hello World Again".
echo strrchr($string , ' '); // Gets ' Again'
Теперь я хочу получить "Hello World" из $string
[Подстрока перед последним вхождением пробела '']. Как мне это получить?
$string = "Hello World Again".
echo strrchr($string , ' '); // Gets ' Again'
Теперь я хочу получить "Hello World" из $string
[Подстрока перед последним вхождением пробела '']. Как мне это получить?
Это своего рода дешевый способ сделать это, но вы можете разбить, поп, а затем присоединиться, чтобы сделать это:
$string = 'Hello World Again';
$string = explode(' ', $string);
array_pop($string);
$string = implode(' ', $string);
$string = "Hello World Again";
echo substr($string, 0, strrpos( $string, ' ') ); //Hello World
Если символ не найден, ничего не отражается
Один (хороший и охлажденный) способ:
$string = "Hello World Again";
$t1=explode(' ',$string);
array_pop($t1);
$t2=implode(' ',$t1);
print_r($t2);
Другие (более сложные) способы:
$result = preg_replace('~\s+\S+$~', '', $string);
или
$result = implode(" ", array_slice(str_word_count($string, 1), 0, -1));
strripos - найти позицию последнего вхождения подстроки без учета регистра в строке
$string = "hello world again";
echo substr($string, 0, strripos($string, ' ')); // Hello world
$myString = "Hello World Again";
echo substr($myString, 0, strrpos($myString, " "));
Правильная реализация должна быть:
$string = "Hello World Again";
$pos = strrpos( $string, ' ');
if ($pos !== false) {
echo substr($string, 0, $pos ); //Hello World
}
В противном случае, если символ не найден, он ничего не напечатает. См. Следующий случай:
$string = "Hello World Again";
//prints nothing as : is not found and strrpos returns false.
echo substr($string, 0, strrpos( $string, ':') );
Вы можете использовать комбинацию strrpos, которая получает позицию последнего экземпляра заданной строки внутри строки и substr, чтобы вернуть значение.
Вы можете просто использовать:
$string = "Hello World Again";
echo preg_replace('# [^ ]*$', '', $string);
Это будет работать независимо от того, встречается ли символ в строке или нет. Он также будет работать, если последний символ - это пробел.
function cutTo($string, $symbol) {
return substr($string, 0, strpos($string, $symbol));
}