我们有一个字符串,不断生成以下模式。理想情况下,我们想要删除字符串(所有字符)直到找到的第一个“/”。我尝试过以下但是没有用。需要帮助才能看到我缺少的东西。
目标是从头开始删除第一个“/”和“/”之前的所有字符。棘手的部分是第一个“/”之前的字符串长度可能不同。
示例字符串:
我尝试过的示例代码(其中$ str是上面的示例字符串):
$patt = '/.+\/';
$repl = '';
$str = preg_replace($patt, $repl, $str);
当前输出:
所需的字符串输出:
答案 0 :(得分:0)
试试这个:
$exp = explode("/", "test-item/test-test1/test-2/test");
$result = implode(array_shift($exp), "/");
对于您拥有的每条路径。
答案 1 :(得分:0)
你可以这样做:
$str = preg_replace('^.*?\/(.*)\/.*$', '$1', $str);
答案 2 :(得分:0)
这是一个使用substr()和strpos()函数的方法:
$str = substr($str, strpos($str, '/') + 1 );
答案 3 :(得分:0)
这适用于你给出的所有例子 - 祝你好运
<?php
$string = 'test-item/test-test1/test-2/test';
$character = '/';
$position = strpos($string, $character);
$string2 = substr($string, $position+1);
echo "New string is '$string2'";
?>
答案 4 :(得分:-1)
我同意@DragonSpirit: $ str = substr($ str,strpos($ str,'/')+ 1);应该工作!