在php中从长字符串中提取特定字符串
我有这个字符串“PAX 098-5503268037/ETAI/USD107.75/15MAY20/KTMVS31KL/10303171”,我想提取USD107.75。我有这个函数: 在这里: 函数只返回一个空字符串 我错过了什么在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
如果您进行了一些调试,谢谢您
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];
可能按
/
爆炸并获得第三元素?可能按/
爆炸并获得第三元素?