Замените двойные дефисы в заголовке страницы на один дефис - PullRequest
0 голосов
/ 19 февраля 2012

У меня есть такие заголовки страниц:

$pageTitle = "<title>site - {$cat} - {$q} - {$prod} - {$prodName}</title>";
$pageTitle = str_replace(' - - ', ' - ', $pageTitle);    
echo $pageTitle;

Иногда эта эхо-страница выглядит так:

<title>site - SportingGoods - Airbed -  - SportingGoods</title>    

Когда это происходит, и один из вариантов пуст, я хочу удалить пустой двойной дефис одним. Я думал, что-то вроде str_replace будет работать здесь, но это не так.

Заранее спасибо.

Ответы [ 2 ]

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

Когда один пуст, у вас будет два пробела (не один) между дефисами:

$pageTitle = str_replace(' -  - ', ' - ', $pageTitle);
0 голосов
/ 19 февраля 2012
// Double space! Copy & paste is your friend!
$pageTitle = str_replace(' -  - ', ' - ', $pageTitle);

Для решения полной проблемы используйте это:

$titleParts = array($cat, $q, $prod, $prodName);
$titleParts = array_unique($titleParts);

$pageTitle  = implode(' - ', $titleParts);
$pageTitle  = str_replace(' -  - ', ' - ', $pageTitle);
...