簡體   English   中英

用 PHP 修剪前導空白?

[英]Trim leading white space with PHP?

Wordpress PHP 函數中似乎存在一個錯誤,該錯誤會在<?php echo wp_title(''); ?>生成的頁面標題前留下空白<?php echo wp_title(''); ?> <?php echo wp_title(''); ?>我在沒有任何運氣的情況下瀏覽了有關該功能的 Wordpress 文檔和論壇。

我以這種方式使用它<body id="<?php echo wp_title(''); ?>">以生成帶有頁面標題 id 的 HTML body 標記。

所以我需要做的是去掉那個空白區域,讓 body 標簽看起來像這個<body id="mypage">而不是這個<body id=" mypage">

多余的空白會殺死我試圖用來突出顯示活動頁面菜單項的 CSS。 當我手動添加沒有空格的正確 body 標記時,我的 CSS 可以工作。

那么我將如何去除空白? 謝謝,馬克


史詩的第二部分

約翰,十六進制轉儲是個好主意; 它將空白顯示為兩個“20”空格。 但是所有去除前導空格和空白的解決方案都沒有。

而且, <?php ob_start(); $title = wp_title(''); ob_end_clean(); echo $title; ?> <?php ob_start(); $title = wp_title(''); ob_end_clean(); echo $title; ?>

給我< body id ="">

<?php ob_start(); $title = wp_title(''); echo $title; ?> <?php ob_start(); $title = wp_title(''); echo $title; ?>

給我< body id =" mypage">

謎。 The root of the problem is that wp_title has optional page title leading characters - that look like chevrons - that are supposed to be dropped when the option is false, and they are, but white space gets dumped in.

有核選項嗎?


是的,之前都試過; 他們仍然返回兩個前導空格... arrgg

  1. 去除標題左端的所有空格:

     <?php echo ltrim(wp_title('')); ?>
  2. 從任一端去除所有空格:

     <?php echo trim(wp_title('')); ?>
  3. 去掉標題左端的所有空格:

     <?php echo ltrim(wp_title(''), ' '); ?>
  4. 刪除第一個空格,即使它不是第一個字符:

     <?php echo str_replace(' ', '', wp_title(''), 1); ?>
  5. 在開頭只去掉一個空格(不是換行符,不是制表符):

     <?php echo preg_replace('/^ /', '', wp_title('')); ?>
  6. 去掉第一個字符,不管它是什么:

     <?php echo substr(wp_title(''), 1); ?>

更新

從WordPress上的文檔wp_title ,看來wp_title顯示標題本身,除非你通過false第二個參數,在這種情況下,它返回它。 所以嘗試:

<?php echo trim(wp_title('', false)); ?>
ltrim($str)

只是在這里拋出一些變化:修剪

 <body id="<?=trim(wp_title('', false));?>">

感謝您提供此信息! 我在同一條船上,因為我需要根據頁面標題為 CSS 目的生成頁面 id,並且上述解決方案工作得很好。

我最終遇到了一個額外的障礙,因為有些頁面的標題帶有嵌入的空格,所以我最終編寫了以下代碼:

<?php echo str_replace(' ','-',trim(wp_title('',false))); ?>

將此添加到您的functions.php

add_filter('wp_title', create_function('$a, $b','return str_replace(" $b ","",$a);'), 10, 2);

應該像魅力一樣工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM