• Решено eugenepascal

    (@eugenepascal)


    Привет !

    У меня такая проблема.

    есть функция the_content() которая выводит содержание постов. Некоторые посты имеют в тексте между слов по 2,3 и более пробелов.

    При выводе эти пробелы, если больше 1 заменяются   Мне необходимо убрать пробелы между слов лишнии . Максимум 1.

    Мои действия

    function split_content_into_block($cont) {
    		$cont = str_replace("&","&",$cont);
    		$cont = str_replace(" "," ",$cont);
    		$cont = preg_replace("/\s+/"," ", $cont);
    		return $cont;
    	}
    
    add_filter( "the_content", "split_content_into_block" );
    the_content('<p>Continue reading &raquo;</p>');

    То есть последняя $cont = preg_replace(«/\s+/»,» «, $cont);
    заменят все пробелы больше или равное одному на один пробел.

    Но почему то не работает.

    Хотя функция $cont = preg_replace(«/\s+/»,» «, $cont); — 100% правильная

    P.S.
    В коде где $cont = str_replace(«&»,»&»,$cont);
    первый аргeмент & = &amp ;

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Опыт показал, что &nbsp; выводится в шестнадцатеричной форме:

    $cont = preg_replace("/\xC2\xA0+/"," ", $cont);

    Автор eugenepascal

    (@eugenepascal)

    ОГРОМНОЕ СПАСИБО — SergeyBiryukov

    Опыт великое дело

    $cont = preg_replace("/\xC2\xA0+/"," ", $cont);
    	$cont = preg_replace("/\s+/"," ", $cont);

    Работает )

    Буду знать.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «the_content()» закрыта для новых ответов.