我有这样的页面标题:
$pageTitle = "<title>site - {$cat} - {$q} - {$prod} - {$prodName}</title>";
$pageTitle = str_replace(' - - ', ' - ', $pageTitle);
echo $pageTitle;
有时这个回声页面标题如下:
<title>site - SportingGoods - Airbed - - SportingGoods</title>
如果发生这种情况并且其中一个变量为空,我想用一个连字符删除空双连字符。我觉得像str_replace这样的东西可以在这里工作,但事实并非如此。
提前致谢。
答案 0 :(得分:1)
当一个为空时,连字符之间将有两个空格(不是一个):
$pageTitle = str_replace(' - - ', ' - ', $pageTitle);
答案 1 :(得分:0)
// 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);