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
正規表現でそれを行うことができます。 (Ahmed Ziani。の回答を参照)
ただし、PHPでは、組み込み関数を使用して実行することもできます。以下のコードを参照してください。
$text = "Hi, I'm Gian Marco";
$last_space_position = strrpos($text, ' ');
$text = substr($text, 0, $last_space_position);
echo $text;
これをチェックして
<?php
$str ='"Hi, I\'m Gian Marco" will be "Hi, I\'m Gian"';
$words = explode( " ", $str );
array_splice( $words, -1 );
echo implode( " ", $words );
?>
ソース: 文字列から最後の2つの単語を削除します
最後の単語がわからず、文字列の長さが短い場合、現在の解決策は問題ありません。
あなたがそれを知っている場合、例えばこのようなクエリのために連結文字列をループするとき:
foreach ($this->id as $key => $id) {
$sql.=' id =' . $id . ' OR ';
}
より良い解決策:
$sql_chain = chop($sql_chain," OR ");
正規表現を使用したpreg_replaceは[〜#〜] very [〜#〜]長い文字列では遅いことに注意してください。このような場合、チョップは100倍速くなり、パフォーマンスが大幅に向上する可能性があります。
このコードはあなたを助けるかもしれません:
$str="Hi, I'm Gian Marco";
$split=explode("",$str);
$split_rem=array_pop($split);
foreach ($split as $k=>$v)
{
echo $v.'';
}