PHP - 删除String的一部分的最佳策略

时间:2011-02-19 18:35:40

标签: php string-formatting

我需要删除一些String的部分,一些字符串的例子:

$string1 = 'Castanho / Brown';
$string2 = 'Cor de Rosa / Pink';

我需要删除“/”后面的字符串内容,如下所示:

$newString1 = 'Castanho';
$newString2 = 'Cor de Rosa';

我如何在PHP中执行此操作。需要一些线索。

最诚挚的问候,

7 个答案:

答案 0 :(得分:5)

如果你想要一些不可读的东西,你可以这样做:

reset(explode(' / ', $input));

如果字符串中没有斜线,那将会很难过。

答案 1 :(得分:2)

正则表达式可能是最直接的。你要检查斜杠,然后检查任何角色。有点像...

$newString1 = preg_replace('~ / .*$~', '', $string1);

答案 2 :(得分:0)

使用explode功能:

$separator = " / ";
$limit = 1;
$oldString = 'Castanho / Brown';
// in case the oldString does not contain any separator it will return the oldString
$newString = explode($separator,$oldString,$limit)[0] or $oldString;

答案 3 :(得分:0)

您可以将正则表达式用于前瞻断言或旧的良好纠纷。

$string1 = 'Castanho / Brown';
$cutted = trim(substr($string1, 0, strpos($string1, '/')));

//注意,这不会检查strpos是否=== false所以false会被评估为0并且你什么也得不到:D

答案 4 :(得分:0)

您可以使用explode(...)(请参阅http://php.net/manual/de/function.explode.php

array explode ( string $delimiter , string $string [, int $limit ] )

像这样分割你的字符串

$string = 'Castanho / Brown';
$array = exlode(' / ', $string);

echo $array[0];

如果你总是想在第一次出现“/”之后剪掉字符串,这是一个快速的解决方案。

答案 5 :(得分:0)

  • $ string1 = preg_replace('/ \ / \ s + \ w + /','',$ string1);

  • $ string = substr($ string,0, strpos($ string,“/”));

答案 6 :(得分:0)

唯一正确的方法:

$newString1 = strstr('Castanho / Brown', '/', true);