Как удалить с помощью PHP последнее слово из строки?PHP: Как удалить из строки последнее слово?
Например, строка "Hi, I'm Gian Marco"
станет "Hi, I'm Gian"
.
Как удалить с помощью PHP последнее слово из строки?PHP: Как удалить из строки последнее слово?
Например, строка "Hi, I'm Gian Marco"
станет "Hi, I'm Gian"
.
попробовать с этим:
$txt = "Hi, I'm Gian Marco";
$str= preg_replace('/\W\w+\s*(\W*)$/', '$1', $txt);
echo $str
из положить
Hi, I'm Gian
проверить эту
<?php
$str ='"Hi, I\'m Gian Marco" will be "Hi, I\'m Gian"';
$words = explode(" ", $str);
array_splice($words, -1);
echo implode(" ", $words);
?>
источник: Remove last two words from a string
Активировать это, поскольку он отвечает на вопрос OP без использования регулярных выражений. – nockieboy
Этот код может помочь вам:
$str="Hi, I'm Gian Marco";
$split=explode("",$str);
$split_rem=array_pop($split);
foreach ($split as $k=>$v)
{
echo $v.'';
}
Текущее решение в порядке, если вы не знаете последнее слово, а длина строки коротка.
В случае, если вы знаете, например, когда зацикливание строку Concat для запроса, как это:
foreach ($this->id as $key => $id) {
$sql.=' id =' . $id . ' OR ';
}
Лучшее решение:
$sql_chain = chop($sql_chain," OR ");
Имейте в виду, что preg_replace с регулярным выражением является ОЧЕНЬ медленный с длинными строками. В этом случае Чоп в 100 раз быстрее, и усиление перфоратора может быть существенным.
Вы можете сделать это с регулярным выражением. (см. ответ Ahmed Ziani.)
Но в PHP вы также можете сделать это, используя некоторую встроенную функцию. см код ниже
$text = "Hi, I'm Gian Marco";
$last_space_position = strrpos($text, ' ');
$text = substr($text, 0, $last_space_position);
echo $text;
возможного дубликата [Удалить последние два слова из строки] (http://stackoverflow.com/questions/10541808/remove-last-two-words-from-a-string) –
Я не знаю contringf String! Я просто хочу удалить последнее слово (не последний символ). – Kiuki
@MamounBenghezal Как это дубликат java-вопроса? – Loko