如何在 PHP 中使用 strtok?

How can I use strtok in PHP?

请你解释一下为什么我会得到这个结果?

echo strtok('../../../its-2016-03/2016-11-15/c_00.01-rend.xml#eba_tC_00.01','-rend');

结果:

../../../its

我得到这个结果很奇怪。

来自manual

strtok() splits a string (str) into smaller strings (tokens), with each token being delimited by any character from token.

由于您将 '-rend' 作为 token 传递,strtok return 将您的字符串添加到字符串中的第一个字符,该字符串也在 token 中,在这种情况下 - 因此 return 值为 '../../../its'.

不清楚您要实现的目标,也许您想要

echo explode('-rend', '../../../its-2016-03/2016-11-15/c_00.01-rend.xml#eba_tC_00.01')[0];

这将产生

../../../its-2016-03/2016-11-15/c_00.01