PHP使用特定模式从末尾拆分字符串

PHP使用特定模式从末尾拆分字符串,php,regex,string,Php,Regex,String,我有这些绳子,它们是医院和城市的结合体。我想分开,只知道医院的名字 ABC Hospital (rawalpindi) ABC Hospital (New) (Rawalpindi) XYZ Hospital (old) (Lahore) 我想将字符串从末尾拆分,这样输出应该是正确的 ABC Hospital ABC Hospital (New) XYZ Hospital (old) 利用子字符串生成最后位置为“的较小字符串 使用示例代码: $s1 = "ABC Hospital (rawa

我有这些绳子,它们是医院和城市的结合体。我想分开,只知道医院的名字

ABC Hospital (rawalpindi)
ABC Hospital (New) (Rawalpindi)
XYZ Hospital (old) (Lahore)
我想将字符串从末尾拆分,这样输出应该是正确的

ABC Hospital
ABC Hospital (New)
XYZ Hospital (old)

利用子字符串生成最后位置为
的较小字符串

使用示例代码:

$s1 = "ABC Hospital (rawalpindi)";
$s2 = "ABC Hospital (New) (Rawalpindi)";
$s3 = "XYZ Hospital (old) (Lahore)";

echo substr($s1, 0, strripos($s1," "));
echo substr($s2, 0, strripos($s2," "));
echo substr($s3, 0, strripos($s3," "));
这将产生以下输出:

ABC Hospital
ABC Hospital (New)
XYZ Hospital (old)
这是一个简单的正则表达式:

foreach(array('ABC Hospital (rawalpindi)', 'ABC Hospital (New) (Rawalpindi)', 'XYZ Hospital (old) (Lahore))') as $name){
  echo preg_replace('/(.*) \(.*/', '\1', $name) . "\n";
}

你有没有试过自己解决这个问题?逻辑是什么?请添加更多信息<代码>(新)和
(旧)
被接受,而不是其他的?@MTaqi这些答案对你有帮助吗?
foreach(array('ABC Hospital (rawalpindi)', 'ABC Hospital (New) (Rawalpindi)', 'XYZ Hospital (old) (Lahore))') as $name){
  echo preg_replace('/(.*) \(.*/', '\1', $name) . "\n";
}