PHP 如何获取特殊字符前的字符串?

PHP How to get string before special character?

我正在尝试从这个字符串中获取:

UPS EXPRESSS_SAVER - 1 día hab.

部分:EXPRESSS_SAVER

我尝试了以下代码: 它从字符串的第 4 个索引开始,在特殊字符“-”之前结束。

$shippingMethod = "UPS EXPRESSS_SAVER - 1 día hab.";
$shippingServiceId = substr($shippingMethod, 4, strpos($shippingMethod,'-'));

这返回了我:EXPRESSS_SAVER - 1

我也试过了:

$shippingServiceId = substr($shippingMethod, 4, strpos($shippingMethod,' '));

但是得到了:EXP

 $shippingMethod = "UPS EXPRESSS_SAVER - 1 día hab.";
 $position = 4;
 $shippingServiceId = substr($shippingMethod, $position, strpos($shippingMethod,'-') - $position);
 echo $shippingServiceId;

您可以使用下面的代码 dot get EXPRESSS_SAVER

$shippingMethod = "UPS EXPRESSS_SAVER - 1 día hab.";

$shippingMethodArr = explode(" ",$shippingMethod);

$shipped = $shippingMethodArr[1];