如何从PHP中的字符串中提取子字符串,直到达到某个字符?

Jac*_*coe 6 php substring

我有一个PHP应用程序的一部分,用于评估用户输入的长字符串,并提取一个始终在用户提供的字符串中开始20个字符的数字.

唯一的问题是我不知道每个用户的数量是多长,我所知道的是数字的结尾总是后跟双引号(").

如何使用PHP子字符串函数从特定点开始提取子字符串,并在它命中双引号时结束?

提前致谢.

Gum*_*mbo 11

您可以使用从位置20 strpos获取第一个位置":

$pos = strpos($str, '"', 20);
Run Code Online (Sandbox Code Playgroud)

然后可以使用该位置来获取子字符串:

if ($pos !== false) {
    // " found after position 20
    $substr = substr($str, 20, $pos-20-1);
}
Run Code Online (Sandbox Code Playgroud)

第三个参数的计算是必要的,因为substr期望子串的长度而不是结束位置.另请注意,如果在haystack中找不到,则substr返回.false