Поиск и замена в php запросе

Тема в разделе "PHP", создана пользователем grebovich, 21 авг 2016.

Статус темы:
Закрыта.
Модераторы: latteo
  1. grebovich

    grebovich

    Регистр.:
    19 мар 2012
    Сообщения:
    322
    Симпатии:
    57
    Ребята помогите в запросе
    Код:
    <?php single_cat_title(); ?>
    сделать замену части текста.
    Данный запрос выводит название категории в вордпрес но берет ее из отдельного файла и вместе из форматированием то есть так :
    Код:
    <h1 class="page-title"><span>Категория тест</span></h1>
    Вот мне и нужно что бы в запросе убирались именно <h1 class="page-title"> и соответственно </h1> Чтобы осталось только так
    Код:
    <span>Категория тест</span>
    Вырезать именно в ручную из файла я могу, но его мне нельзя вырезать так как он по всей теме напичкан общим нужен он, а нужно именно в данном запросе все это убрать ....

    Заранее всем спасибо за помощь!
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.611
    Симпатии:
    1.539
    Если у тебя single_cat_title() из WP, то там есть аргумент $display для возврата значения вместо вывода - https://developer.wordpress.org/reference/functions/single_cat_title/
    А дальше обычный str_replace или preg_replace

    Если функция своя и изменять её ну никак нельзя, то почитай про ob_start, ob_get_clean
     
  3. javx

    javx

    Регистр.:
    28 авг 2015
    Сообщения:
    526
    Симпатии:
    252
    PHP:
    $var str_replace(
        array(
    '<h1 class="page-title">','</h1>'),
        array(
    '',''),
        
    single_cat_title('',false)
        );
     
    grebovich нравится это.
  4. grebovich

    grebovich

    Регистр.:
    19 мар 2012
    Сообщения:
    322
    Симпатии:
    57
    Спасибо, но данный вариант полностью убирает всю строку
    Код:
    <h1 class="page-title"><span>Категория тест</span></h1>
    А нужно что бы оставалось
    Код:
    <span>Категория тест</span>
    Ну или хотя бы просто сам текст Категория тест
     
  5. igornnm

    igornnm Создатель

    Регистр.:
    12 ноя 2011
    Сообщения:
    24
    Симпатии:
    8
    Код:
    $str = '<h1 class="page-title"><span>Категория тест</span></h1>';
    echo str_replace(array('<h1 class="page-title">','</h1>'), '', $str );
     
  6. javx

    javx

    Регистр.:
    28 авг 2015
    Сообщения:
    526
    Симпатии:
    252
    Быть такого не может. Другого варианта вам никто не даст. По тому что этот и так рабочий. Разве что функция возвращает не те данные которые ты привел.
    PHP:
    <?php
    function single_cat_title($a,$b){
        return 
    '<h1 class="page-title"><span>Категория тест</span></h1>';
    }


    $var str_replace(
        array(
    '<h1 class="page-title">','</h1>'),
        array(
    '',''),
        
    single_cat_title('',false)
        );

    echo 
    $var;
     

    Вложения:

    ZiX и grebovich нравится это.
  7. grebovich

    grebovich

    Регистр.:
    19 мар 2012
    Сообщения:
    322
    Симпатии:
    57
    Да теперь все супер Спасибо тебе огромное добр человек :sun:

    Я сейчас добавил так и все заработало:
    Код:
    <?php
    $var = str_replace(
        array('<h1 class="page-title">','</h1>'),
        array('',''),
        single_cat_title('',false)
        );
    
    echo $var;
    ?>
    Просто в Вашем первом варианте отсутствовал echo $var;
    А я не особо в этом разбираюсь вернее совсем не разбираюсь.
     
Статус темы:
Закрыта.