PHP - 删除字符串一部分的最佳策略

发布于 2024-10-18 08:06:35 字数 285 浏览 1 评论 0原文

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

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

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

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

How can I in PHP do this.需要一些线索。

此致,

I need to remove portions of a String, some examples of Strings:

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

I need to remove the content of the string after the "/", like this:

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

How can I in PHP do this. Some clues needed.

Best Regards,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

夜清冷一曲。 2024-10-25 08:06:35

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

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

如果字符串中没有斜杠,那就太遗憾了。

If you want something that's unreadable you could do:

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

It would be sad if there wasn't a slash in the string though.

傲娇萝莉攻 2024-10-25 08:06:35

正则表达式可能是最简单的。您将检查斜杠,然后检查任何字符。像...

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

Regular expressions are probably the most straightforward. You'd check for a slash, and then any character at all. Something like...

$newString1 = preg_replace('~ / .*$~', '', $string1);
梦冥 2024-10-25 08:06:35

您可以将正则表达式与前瞻断言或旧的好的 strpos 一起使用。

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

// 注意,这不会检查 strpos === false 是否存在,因此 false 将被计算为 0,你将一无所获 :D

You can use regex with lookahead asserts or old good strpos.

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

// note, this won't check if strpos === false so false will be evaluated to 0 and you'll get nothing :D

怪我闹别瞎闹 2024-10-25 08:06:35

您可以使用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];

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

You could use explode(...) (see http://php.net/manual/de/function.explode.php)

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

to split your string like this

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

echo $array[0];

This is a fast solution if you alway want to cut the string after the first occurence of ' / '.

℡寂寞咖啡 2024-10-25 08:06:35
  • $string1 = preg_replace('/\/\s+\w+/','',$string1);

  • . $string= substr($string, 0,
    strpos($string, "/"));
  • $string1 = preg_replace('/\/\s+\w+/','',$string1);

or

  • . $string= substr($string, 0,
    strpos($string, "/"));
甜中书 2024-10-25 08:06:35

执行此操作的唯一正确方法:

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

The only correct way to do this:

$newString1 = strstr('Castanho / Brown', '/', true);
一口甜 2024-10-25 08:06:35

使用 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;

use explode function :

$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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文