我是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 ?>
感谢您的帮助!
答案 0 :(得分:0)
如果您只想删除, 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