我是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