[英]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
去除標題左端的所有空格:
<?php echo ltrim(wp_title('')); ?>
從任一端去除所有空格:
<?php echo trim(wp_title('')); ?>
去掉標題左端的所有空格:
<?php echo ltrim(wp_title(''), ' '); ?>
刪除第一個空格,即使它不是第一個字符:
<?php echo str_replace(' ', '', wp_title(''), 1); ?>
在開頭只去掉一個空格(不是換行符,不是制表符):
<?php echo preg_replace('/^ /', '', wp_title('')); ?>
去掉第一個字符,不管它是什么:
<?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.