将页面标题中的双连字符替换为单连字符

发布于 2025-01-07 05:26:54 字数 432 浏览 3 评论 0原文

我有这样的页面标题:

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

有时这会回显这样的页面标题:

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

当发生这种情况并且其中一个变量为空时,我想用一个连字符删除空的双连字符。我以为像 str_replace 这样的东西在这里可以工作,但事实并非如此。

提前致谢。

I have page titles like this:

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

Sometimes this echos page titles like this:

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

When this happens and one of the vars is empty I want to remove the empty the double hyphen with a single one. I thought something like str_replace would work here but it doesn't.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开浅夏 2025-01-14 05:26:54

当其中一个为空时,连字符之间将有两个空格(不是一个):

$pageTitle = str_replace(' -  - ', ' - ', $pageTitle);

When one is empty you'll have two spaces (not one) between the hyphens:

$pageTitle = str_replace(' -  - ', ' - ', $pageTitle);
大海や 2025-01-14 05:26:54
// 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);
// Double space! Copy & paste is your friend!
$pageTitle = str_replace(' -  - ', ' - ', $pageTitle);

To solve the complete problem use this:

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

$pageTitle  = implode(' - ', $titleParts);
$pageTitle  = str_replace(' -  - ', ' - ', $pageTitle);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文