如何在PHP中从输出的字符串中删除单词


How do I remove words from outputted string in PHP?

我是PHP新手,正在Joomla网站上尝试自定义以下PHP行:

<? if ($event->venue_id) : ?><?=@service('com://site/component.model.venues')->id($event->component_venue_id)->getItem()->title?><? endif ?>

该行输出地址,但我想通过删除城市和国家来缩短输出的地址。这可能是PHP中的一些方法吗?

我一直在尝试用"preg_replace"来做这件事,但没有取得多大成功。所有的地址都是英国地址,所以我试过了:

<? if ($event->venue_id) : ?><?=@service('com://site/component.model.venues')->id($event->component_venue_id)->getItem(preg_replace('UK','',($event->venue_id))->title?><? endif ?>

谢谢你的帮助!

如果你只想删除, UK部分,你不需要preg_replace,你只需要做一个常规的str_replace:

更改此项:

@service('com://site/component.model.venues')->id($event->component_venue_id)->getItem()->title

对此:

str_replace(', UK', '', @service('com://site/component.model.venues')->id($event->component_venue_id)->getItem()->title)

这将用一个空字符串替换, UK。所以它会变成这样一个地址:

11 Water Square, London, Greater London A12 34Z, UK

进入:

11 Water Square, London, Greater London A12 34Z

例如,如果您还想删除字符串London,,您可以添加另一个str_replace:

str_replace('London, ', '', str_replace(', UK', '', @service('com://site/component.model.venues')->id($event->component_venue_id)->getItem()->title))

这将导致该地址变为:

11 Water Square, Greater London A12 34Z