Подтвердить что ты не робот

Php string, чтобы получить подстроку перед последним вхождением символа

$string = "Hello World Again".
echo strrchr($string , ' '); // Gets ' Again'

Теперь я хочу получить "Hello World" из $string [Подстрока перед последним вхождением пробела '']. Как мне это получить?

4b9b3361

Ответ 1

Это своего рода дешевый способ сделать это, но вы можете разбить, поп, а затем присоединиться, чтобы сделать это:

$string = 'Hello World Again';
$string = explode(' ', $string);
array_pop($string);
$string = implode(' ', $string);

Ответ 2

$string = "Hello World Again";
echo substr($string, 0, strrpos( $string, ' ') ); //Hello World

Если символ не найден, ничего не отражается

Ответ 3

Один (хороший и охлажденный) способ:

$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));

Ответ 4

strripos - найти позицию последнего вхождения подстроки без учета регистра в строке

 $string = "hello world again";
 echo substr($string, 0, strripos($string, ' ')); // Hello world

Ответ 5

$myString = "Hello World Again";
echo substr($myString, 0, strrpos($myString, " "));

Ответ 6

Правильная реализация должна быть:

$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, ':') );

Ответ 7

Вы можете использовать комбинацию strrpos, которая получает позицию последнего экземпляра заданной строки внутри строки и substr, чтобы вернуть значение.

Ответ 8

Вы можете просто использовать:

$string = "Hello World Again";
echo preg_replace('# [^ ]*$', '', $string);

Это будет работать независимо от того, встречается ли символ в строке или нет. Он также будет работать, если последний символ - это пробел.

Ответ 9

function cutTo($string, $symbol) {
    return substr($string, 0, strpos($string, $symbol));
}