我想做的就是从字符串中获取第一个单词,它确实有效,但是我如何也摆脱逗号,现在我正在获取名称,我希望它只显示没有逗号的名称或后面的字符。
<?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 用于将逗号替换为空
我看到了两种方法。
第一种方式。我建议的方式:
rtrim($arr[0], ',');
第二种方式。这样做的问题是,如果最后一个字符不是逗号,它也会将其删除:
substr($arr[0], 0, strlen($arr[0]) - 1);