Заменить интервал белого - PullRequest
2 голосов
/ 26 февраля 2012

Мне нужно заменить интервал белого знаком плюс "+" для кода, показанного ниже.

Я нахожусь в процессе изменения некоторого кода, который генерирует метку и URL для продуктов, отображаемых в моем каталоге. Проблема, с которой я сталкиваюсь, заключается в том, что мой текущий код не выполняет замену. Может кто-нибудь, пожалуйста, измените код, заменив пробел на знак плюс "+".

<h5><a href="http://www.efficienttrade.co.nz/catalogsearch/result/order=relevance&dir=desc&q=<?php echo $this->stripTags($_product->getName(), null, true) ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h5>

и вернет URL примерно так:

http://www.efficienttrade.co.nz/catalogsearch/result/?order=relevance&dir=desc&q=potassium нитрат

Однако, когда используется функция getName (), имена с пробелами не работают для сгенерированного поискового запроса. Поэтому мне нужно заменить пробел на «+», чтобы URL-адрес поискового запроса работал.

Спасибо

Ответы [ 2 ]

1 голос
/ 26 февраля 2012

Как насчет следующего, чтобы сделать ваш код немного приятнее (хотя PHP / HTML суп никогда не доставляет большого удовольствия).Первая строка PHP - это та, которая заменяет пробелы дефисом

<?php
     /*Get product name, stripped of HTML and spaces*/
     $productName = str_replace(' ', '-', strip_tags($_product->getName(), null, true));

     /*Assign variables rather than using same function multiple times.*/
     $productAttribute = $_helper->productAttribute($_product, $_product->getName(), 'name');
     /*Concatenate the URL here for easier code fixing later.*/
     $url = 'http://www.efficienttrade.co.nz/catalogsearch/result/order=relevance&dir=desc&q=' . $productName;
?>
<h5>
     <a href="<?php echo $url; ?>"title="<?php echo $productName; ?>"><?php echo $productAttribute ?></a>
</h5>
1 голос
/ 26 февраля 2012

Насколько я понимаю вашу проблему, вам нужно заменить пробелы на знаки в названии вашего продукта.Это может быть достигнуто путем замены следующего кода в вашем href

...<?php echo $this->stripTags($_product->getName(), null, true); ?>...

на

...<?php echo str_replace(' ', '-', $this->stripTags($_product->getName(), null, true)); ?>...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...