Intereting Posts
Задайте значение переменной в одной функции и используйте в других функциях при вызове непосредственно из ссылки в codeigniter Как добавить заголовки в электронную почту в Laravel 5.1 Сопоставления в случаях переключения, действительно ли они? Мне нужен совет, разрабатывающий чувствительную систему передачи / хранения / шифрования данных Как лучше всего использовать PHP Soap с Android? Страница не найдена по запросу url в zend 2 framework application PHP заменяет предыдущие подстроки какой-либо другой подстроки Как переписать URL-адрес с помощью .htaccess Написание поискового запроса PDO из массива PHP Назначение значений по умолчанию для Smarty с использованием объектно-ориентированного стиля Список объектов в определенной папке на Amazon S3 Группы проверки достоверности форм Symfony2 без объектов Лучший способ перечислить алфавитный (AZ) с помощью PHP Глобальный доступ к значениям конфигурации symfony2 Как избежать строк в pdo?

Обрезать ведущее белое пространство с помощью PHP?

Кажется, что ошибка в функции WordPress PHP, которая оставляет пробел перед заголовком страницы, сгенерированной <?php echo wp_title(''); ?> <?php echo wp_title(''); ?> Я прошел через документы и форумы WordPress по этой функции без везения.

Я использую его таким образом <body id="<?php echo wp_title(''); ?>"> Чтобы сгенерировать тег тела HTML с идентификатором заголовка страницы.

Так что мне нужно сделать это полоса белого пространства, так что тег body выглядит как <body id="mypage"> вместо этого <body id=" mypage">

Дополнительное пустое пространство убивает CSS, который я пытаюсь использовать, чтобы выделить пункты меню на активной странице. Когда я вручную добавляю правильный тег тела без пробела, мой 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">

Головоломка. Корень проблемы заключается в том, что wp_title имеет необязательные заголовки заголовков страниц, которые выглядят как шевроны, которые должны быть удалены, когда опция является ложной, а они есть, но пустое пространство сбрасывается.

Есть ли ядерный вариант?


Да, попробовал их обоих; они все еще возвращают два ведущих пространства … 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()

 ltrim($str) 

Просто бросьте несколько разновидностей здесь: обрезать

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

Спасибо за эту информацию! Я был в той же лодке, что мне нужно было создавать идентификаторы страниц для целей CSS, основанные на названии страницы, и вышеупомянутое решение работало красиво.

У меня возникло дополнительное препятствие в том, что на некоторых страницах есть заголовки со встроенными пространствами, поэтому я закончил эту кодировку:

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

добавьте это в свои функции.

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

должен работать как шарм