Как сделать автозамену нескольких символов при выводе текста?

Очень нужно, чтобы закрывающий тег

</b>

в коде выводимой записи автоматом подменялся на

</b>&nbsp;

Как такое сделать? Подскажите, плиз… Сам я не программист, к сожалению.

Может быть можно прикрутить эту функцию в плагин, код которого ниже? Он добавляет во все внешние ссылки постов и комментов "target=_blank" и "rel=nofollow". Но суть-то ведь та же самая – подмена одного набора символов другим…

<?php

function target_blank_in_posts($text) {
        $text = preg_replace('%<a(\s+.*?href=\S(?!' . get_bloginfo('home') . '))%i', '<a rel=nofollow target="_blank"\\1', $text);

    return $text;
}

//put blanks in post links
add_filter('the_content', 'target_blank_in_posts', 42);
//put blanks in comments links
add_filter('comment_text', 'target_blank_in_posts', 42);

?>

Ага. str_replace().

Я в программировании полный ноль, сначала попробовал с этим:

Ага. str_replace().

Ничего не получилось. Тогда попытался сделать по аналогии кода в плагине (код выше). Добавил в него вот такое:

function replace_b_in_google($bgoogle) {
        $bgoogle = preg_replace('%</b>%', '</b>&nbsp;', $bgoogle);

    return $bgoogle;
}


add_filter('the_content', 'replace_b_in_google', 42);

Это заработало. Подмена выполняется отлично, как я и хотел. Но… начали вылезать ошибки. Например, после входа на страницу с входной вормой (где нужно ввести логин и пароль) на ней вылетает такое:

Warning: Cannot modify header information - headers already sent by (output started at /home/avtol110/domains/site.ru/public_html/wp-content/plugins/target-blank-in-posts-and-comments/target-blank-in-posts.php:4) in /home/avtol110/domains/site.ru/public_html/wp-login.php on line 202

Warning: Cannot modify header information - headers already sent by (output started at /home/avtol110/domains/site.ru/public_html/wp-content/plugins/target-blank-in-posts-and-comments/target-blank-in-posts.php:4) in /home/avtol110/domains/site.ru/public_html/wp-login.php on line 214

Вероятно все-таки что-то не так сделал? Или может этот код нужно вставить не в плагин, а какой-то другой файл?

Всё так. Возможно, после шапки плагина есть пустая строка, типа так:

?>

<?php
Всё так. Возможно, после шапки плагина есть пустая строка, типа так:

Точно!!! Выше начала кода

<?php

имелись 4 пустые строки. Убрал их, и все заработало как часы. СПАСИБО!!!

Anonymous
Отправить
Ответ на: