PHP 子字符串提取。获取第一个“/”之前的字符串或整个字符串

2023-11-27

我正在尝试提取一个子字符串。我需要一些帮助来用 PHP 来做这件事。

以下是我正在使用的一些示例字符串以及我需要的结果:

home/cat1/subcat2 => home

test/cat2 => test

startpage => startpage

我想得到字符串直到第一个/,但如果没有/存在,获取整个字符串。

I tried,

substr($mystring, 0, strpos($mystring, '/'))

我认为它说的是 - 获得以下位置/然后获取位置0到的子串that位置。

我不知道如何处理没有的情况/,而不会使声明太大。

有没有办法在不使 PHP 语句过于复杂的情况下处理这种情况?


The 最有效率的解决方案是strtok功能:

strtok($mystring, '/')

注意:如果要分割的字符超过一个,结果可能无法满足您的期望,例如strtok("somethingtosplit", "to")回报s因为它被第二个参数中的任何单个字符分割(在本例中o用来)。

@friek108 感谢您在评论中指出这一点。

例如:

$mystring = 'home/cat1/subcat2/';
$first = strtok($mystring, '/');
echo $first; // home

and

$mystring = 'home';
$first = strtok($mystring, '/');
echo $first; // home
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 子字符串提取。获取第一个“/”之前的字符串或整个字符串 的相关文章