Php删除下划线,如果有一个和后面的任何东西

时间:2015-05-07 16:24:01

标签: php string substring

我需要删除下划线及其后面的任何内容。如果没有下划线,则字符串应保持原样。有可能吗?

$str1 = 'green_apples';
$str1 = substr($str1, 0, strpos($str1, '_'));
echo $str1; // green

正常工作,直到字符串不包含下划线:

$str2 = 'yellow';
$str2 = substr($str2, 0, strpos($str2, '_'));
echo $str2; // should be 'yellow' but nothing is printed

2 个答案:

答案 0 :(得分:1)

这应该有效:

$str2 = 'yellow';
$pos = strpos($str2, '_');
$str2 = substr($str2, 0, $pos === false ? strlen($str2) : $pos);
echo $str2; // should be 'yellow' but nothing is printed

答案 1 :(得分:0)

我会检查_之前是否存在_如下所示:

{{1}}