私がしたいのは、文字列から最初の単語を取得することだけです。それは機能しますが、コンマを削除するにはどうすればよいですか。現在、名前を取得しています。コンマなしで名前を表示したいだけですまたはその後の文字。
<?php $pet_name = $pet->pet_name(); $arr = explode(' ',trim($pet_name));?>
<h1><?= $arr[0] ?></h1>
私がしたいのは、文字列から最初の単語を取得することだけです。それは機能しますが、コンマを削除するにはどうすればよいですか。現在、名前を取得しています。コンマなしで名前を表示したいだけですまたはその後の文字。
<?php $pet_name = $pet->pet_name(); $arr = explode(' ',trim($pet_name));?>
<h1><?= $arr[0] ?></h1>
preg_split
よりもここで役立つかもしれませんexplode
:
<?php
$pet_name = $pet->pet_name();
$arr = preg_split('/[ ,]/', $pet_name, null, PREG_SPLIT_NO_EMPTY);
?>
これにより、名前を分割するときに、一連のスペースとコンマが区切り文字として扱われます。
explode(' ', 'Smith, John'); // ['Smith,', 'John']
explode(' ', 'Smith,John'); // ['Smith,John']
preg_split('/[ ,]/', 'Smith, John', null, PREG_SPLIT_NO_EMPTY); // ['Smith', 'John']
preg_split('/[ ,]/', 'Smith,John', null, PREG_SPLIT_NO_EMPTY); // ['Smith', 'John']
$name = str_replace(',','',$arr[0]);
str_replace は、コンマを何も置き換えないために使用されます
これを行うには2つの方法があります。
最初の方法。私が提案する方法:
rtrim($arr[0], ',');
第二の方法。これに関する問題は、最後の文字がコンマでない場合、それも削除されることです:
substr($arr[0], 0, strlen($arr[0]) - 1);