2012-02-21 3 views
2

Я новичок в PHP и пытается настроить следующий PHP строку на моем сайте Joomla:Как удалить слова из выведенной строки в PHP?

<? if ($event->venue_id) : ?><[email protected]('com://site/component.model.venues')->id($event->component_venue_id)->getItem()->title?><? endif ?> 

линия выводит адрес, но я хочу, чтобы сократить выводимый адрес, удалив города и страны. Возможно ли это как в PHP?

Я пытался сделать это с помощью preg_replace, но не имел большого успеха. Все адреса - это адрес Великобритании, поэтому я пробовал:

<? if ($event->venue_id) : ?><[email protected]('com://site/component.model.venues')->id($event->component_venue_id)->getItem(preg_replace('UK','',($event->venue_id))->title?><? endif ?> 

Спасибо за любую помощь!

+2

Почему вы выдаете что-то, если не упоминается, что он выводится? – zerkms

+1

Покажите формат адреса или введите пример. Кроме того, покажите попытку preg_replace, которую вы пытали, что не сработало; он может быть почти прав, но имеет небольшую ошибку. –

+1

Что такое строчная строка? –

ответ

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 
+0

Фантастический, он отлично работает, спасибо! – Sarah

Смежные вопросы