当' - '找到php时删除所有字符

时间:2013-12-31 21:20:10

标签: php

有像

这样的字符串
$s1 = "Elegan-71";
$s2 = "DganSD-171";
$s2 = "SD-1";

从“ - ”中删除所有字符的最佳方式是什么,如

$cleans1 = "Elegan";
$cleans2 = "DganSD";
$cleans2 = "SD";

substr($s1, "-",4);

substr(string $string, int $start, int[optional] $length=null);

但是如何判断它应该删除所有数字以及如何知道数字大小,因为它们是可变的?

6 个答案:

答案 0 :(得分:2)

list($cleans1) = explode("-",$s1,2);

答案 1 :(得分:1)

$s1 = "Elegan-71";
if (strrpos($s1, '-')){
    $cleans1 = substr($s1, 0, strrpos($s1, '-'));
}else{
    $cleans1 = $s1;
}

这应该可以解决问题。

答案 2 :(得分:1)

这将做你想要的:

<?php
    $my_string = "happy-123";
    $hyphen_position = strrpos($my_string, '-');
    $fixed_string = substr($my_string, 0, $hyphen_position);
    echo $fixed_string;
?>

答案 3 :(得分:1)

假设您正在单独清理每个字符串,并且您不希望最终没有数组或列表,并且每个字符串都以该模式(短划线和数字)结束,这应该可以解决问题:< / p>

$cleans1 = preg_replace('/-\d+$/', '', $s1);

答案 4 :(得分:1)

ststr也可以做到。

$s1 = "Elegan-71";
$clean = strstr($s1, '-', true);
echo $clean;

答案 5 :(得分:1)

我喜欢:

$cleans1 = strtok($s1, "-");

strtok

相关问题