# Функция WPTEXTURIZE() | WP 0.71
Функция wptexturize() заменяет некоторые символы в указанном тексте на форматированные сущности. Это позволяет сделать текст более читабельным и корректно отображать специальные символы.
## Как работает wptexturize?
Вот как преобразуются некоторые символы:
- "quoted text" превращается в “quoted text” (“quoted text”)
- 'quoted text' превращается в ‘quoted text’ (‘quoted text’)
- president's превращается в president’s (president’s)
- 12' превращается в 12′ (12′)
- ... превращается в … (…)
- (tm) превращается в ™ (™)
Некоторые символы зависят от языка сайта (локализация), например, кавычки.
Также есть список специальных фраз для преобразования. Этот список можно изменить, задав константу $wp_cockneyreplace, которая определяет ассоциативный массив с исходными строками и их заменами. По умолчанию будут заменены следующие строки:
- 'tain't
- 'twere
- 'twas
- 'tis
- 'twill
- 'til
- 'bout
- 'nuff
- 'round
- 'cause
Обратите внимание, что код внутри следующих HTML-блоков будет проигнорирован: <pre>, <code>, <kbd>, <style>, <script>, <tt>.
Если вам нужно указать специальные HTML-теги или шорткоды, для которых функция не должна работать, используйте фильтры no_texturize_tags и no_texturize_shortcodes.
### Фильтры, к которым применяется функция по умолчанию:
```php
add_filter( 'comment_author', 'wptexturize' );
add_filter( 'term_name', 'wptexturize' );
add_filter( 'link_name', 'wptexturize' );
add_filter( 'link_description', 'wptexturize' );
add_filter( 'link_notes', 'wptexturize' );
add_filter( 'bloginfo', 'wptexturize' );
add_filter( 'wp_title', 'wptexturize' );
add_filter( 'widget_title', 'wptexturize' );
add_filter( 'single_post_title', 'wptexturize' );
add_filter( 'single_cat_title', 'wptexturize' );
add_filter( 'single_tag_title', 'wptexturize' );
add_filter( 'single_month_title', 'wptexturize' );
add_filter( 'nav_menu_attr_title', 'wptexturize' );
add_filter( 'nav_menu_description', 'wptexturize' );
add_filter( 'term_description', 'wptexturize' );
add_filter( 'get_the_post_type_description', 'wptexturize' );
add_filter( 'the_title', 'wptexturize' );
add_filter( 'the_content', 'wptexturize' );
add_filter( 'the_excerpt', 'wptexturize' );
add_filter( 'the_post_thumbnail_caption', 'wptexturize' );
add_filter( 'comment_text', 'wptexturize' );
add_filter( 'list_cats', 'wptexturize' );
add_filter( 'widget_text_content', 'wptexturize' );
add_filter( 'the_excerpt_embed', 'wptexturize' );
Использование функции
Вызов функции производится так:
wptexturize( $text, $reset );
$text(string) (обязательный) — текст, который нужно отформатировать.$reset(true/false) — устанавливается вtrueдля тестирования. Паттерны будут сброшены. По умолчанию:false.
Примеры использования
Пример 1: Основное использование
Заменим символы в строке:
$text = "'---' "--" 1234" 1234' (tm) ... 1234x1234";
$new_text = wptexturize( $text );
echo $new_text;
// Результат на экране:
// на экране: ‘—’ “–” 1234″ 1234′ ™ … 1234×1234
// в коде: ‘—’ “–” 1234″ 1234′ ™ … 1234×1234
Пример 2: Как отключить форматирование текста с помощью wptexturize
Если вы заметили, что содержимое поста обрабатывается функцией wptexturize(), вы можете отключить её, отменив фильтр, чтобы она не применялась к отображаемому контенту. Для этого используйте функцию remove_filter():
remove_filter( 'the_content', 'wptexturize' ); // для контента постов
remove_filter( 'the_excerpt', 'wptexturize' ); // для аннотаций
remove_filter( 'comment_text', 'wptexturize' ); // для комментариев
remove_filter( 'the_title', 'wptexturize' ); // для заголовков
Заметки
- Глобальный массив:
$wp_cockneyreplace— массив форматированных сущностей для определённых распространённых фраз. - Глобальный массив:
$shortcode_tags.
Изменения
- С версии 0.71 — добавлена функция.
Связанные функции
absint()add_magic_quotes()antispambot()backslashit()balanceTags()capital_P_dangit()convert_smilies()ent2ncr()force_balance_tags()links_add_target()make_clickable()normalize_whitespace()number_format_i18n()remove_accents()set_url_scheme()shortcode_unautop()size_format()strip_fragment_from_url()trailingslashit()untrailingslashit()url_shorten()user_trailingslashit()utf8_uri_encode()wp_convert_hr_to_bytes()wp_html_excerpt()wp_rel_nofollow()wp_specialchars_decode()wp_trim_words()wpautop()zeroise()