Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中从长字符串中提取特定字符串_Php - Fatal编程技术网

在php中从长字符串中提取特定字符串

在php中从长字符串中提取特定字符串,php,Php,我有这个字符串“PAX 098-5503268037/ETAI/USD107.75/15MAY20/KTMVS31KL/10303171”,我想提取USD107.75。我有这个函数: 在这里: 函数只返回一个空字符串 我错过了什么 如果您进行了一些调试,谢谢您 public function getStringBetween($str,$from,$to) { $sub = substr($str, strpos($str,$from)+strlen($from),strlen($str

我有这个字符串“PAX 098-5503268037/ETAI/USD107.75/15MAY20/KTMVS31KL/10303171”,我想提取USD107.75。我有这个函数:

在这里:

函数只返回一个空字符串

我错过了什么


如果您进行了一些调试,谢谢您

public function getStringBetween($str,$from,$to)
{
    $sub = substr($str, strpos($str,$from)+strlen($from),strlen($str));
    echo $sub.PHP_EOL;
    return substr($sub,0,strpos($sub,$to));
}
您将看到临时输出是

/USD107.75/15MAY20/KTMVS31KL/10303171
然后查找第一个
/
并提取到该字符,这就是第一个字符

解决现有问题的一个简单方法是在开始位置添加
+1

public function getStringBetween($str,$from,$to)
{
    $sub = substr($str, strpos($str,$from)+strlen($from)+1,strlen($str));       
    return substr($sub,0,strpos($sub,$to));
}
或者,您可以按照u_mulder的指示,
explode()
on/然后提取所需的零件

echo explode("/", $str)[2];

如果你做一点调试

public function getStringBetween($str,$from,$to)
{
    $sub = substr($str, strpos($str,$from)+strlen($from),strlen($str));
    echo $sub.PHP_EOL;
    return substr($sub,0,strpos($sub,$to));
}
您将看到临时输出是

/USD107.75/15MAY20/KTMVS31KL/10303171
然后查找第一个
/
并提取到该字符,这就是第一个字符

解决现有问题的一个简单方法是在开始位置添加
+1

public function getStringBetween($str,$from,$to)
{
    $sub = substr($str, strpos($str,$from)+strlen($from)+1,strlen($str));       
    return substr($sub,0,strpos($sub,$to));
}
或者,您可以按照u_mulder的指示,
explode()
on/然后提取所需的零件

echo explode("/", $str)[2];

可能按
/
爆炸并获得第三元素?可能按
/
爆炸并获得第三元素?