[英]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.