如何使用正则表达式(PHP)删除此地址副本?
我有一些如下的文本,我想删除最后的地址匹配,问题是这些地址有不同的格式,取决于文本: 我有这个:如何使用正则表达式(PHP)删除此地址副本?,php,regex,Php,Regex,我有一些如下的文本,我想删除最后的地址匹配,问题是这些地址有不同的格式,取决于文本: 我有这个: 要了解更多关于Groupon商品的信息,请参阅。\n\nUK床上用品退货:奥尔巴尼米尔、老霍尔街、米德尔顿、曼彻斯特M241AG 英国床上用品返回:奥尔巴尼工厂,老霍尔街,米德尔顿 曼彻斯特M241AG\n\n 由gskinner.com使用Fl构建 输出应该是这样的(我已经移除了米德尔顿老霍尔街的最后一家“奥尔巴尼工厂” 曼彻斯特M241AG”): 要了解更多关于Groupon商品的信息,请参阅。
要了解更多关于Groupon商品的信息,请参阅。\n\nUK床上用品退货:奥尔巴尼米尔、老霍尔街、米德尔顿、曼彻斯特M241AG
英国床上用品返回:奥尔巴尼工厂,老霍尔街,米德尔顿
曼彻斯特M241AG\n\n
由gskinner.com使用Fl构建
输出应该是这样的(我已经移除了米德尔顿老霍尔街的最后一家“奥尔巴尼工厂”
曼彻斯特M241AG”):
要了解更多关于Groupon商品的信息,请参阅。\n\nUK床上用品退货:奥尔巴尼米尔、老霍尔街、米德尔顿、曼彻斯特M241AG
英国床上用品退货:\n\n
由gskinner.com使用Fl构建
如果总是有副本,我会选择另一种方式:
- 按新行拆分文本(使用preg_Split,因为有多个新行)李>
- 找到带有地址的行李>
- 把它切成两半
因此,在您的示例中,类似(额外详细):
如果总是有一个副本,我会走另一条路:
- 按新行拆分文本(使用preg_Split,因为有多个新行)李>
- 找到带有地址的行李>
- 把它切成两半
因此,在您的示例中,类似(额外详细):
问题不清楚,请编辑显示预期输出的问题。我正在尝试使用match_all和preg_replace的不同选项,但是…..实际上问题不在于我认为的模式,而在于过程,我如何检测此重复项并在以后选择最后一个匹配项?是否总是会有重复项?是的,有一个重复的问题不清楚,请编辑显示预期输出的问题。我正在使用match_all和preg_replace尝试不同的选项,但是…..实际上问题不是我认为的模式,而是过程,如何检测此重复项并在以后选择最后一个匹配项?是否始终存在重复项?是的,存在重复项
$lines = preg_split('#\n+#', $text);
$addresses = $lines[1];
$address = substr($addresses, 0, floor(strlen($addresses) / 2));