Содержание

Обработка строк | Руководство по PHP

Вернуться к: Строки

Для получения информации о более сложной обработке строк обратитесь к разделам о регулярных выражениях: POSIX-совместимых и Perl-совместимых.

  • addcslashes — Экранирует cтроку слешами в стиле языка C
  • addslashes — Экранирует строку с помощью слешей
  • bin2hex — Преобразует бинарные данные в шестнадцатеричное представление
  • chop — Псевдоним rtrim
  • chr — Возвращает символ по его коду
  • chunk_split — Разбивает строку на фрагменты
  • convert_cyr_string — Преобразует строку из одной кириллической кодировки в другую
  • convert_uudecode — Декодирует строку из формата uuencode в обычный вид
  • convert_uuencode — Кодирует строку в формат uuencode
  • count_chars — Возвращает информацию о символах, входящих в строку
  • crc32 — Вычисляет полином CRC32 для строки
  • crypt — Необратимое хэширование строки
  • echo — Выводит одну или более строк
  • explode — Разбивает строку с помощью разделителя
  • fprintf — Записывает отформатированную строку в поток
  • get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • hebrev — Преобразует текст на иврите из логической кодировки в визуальную
  • hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки
  • hex2bin — Преобразует шестнадцатеричные данные в двоичные
  • html_entity_decode — Преобразует все HTML-сущности в соответствующие символы
  • htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности
  • htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы
  • htmlspecialchars — Преобразует специальные символы в HTML-сущности
  • implode — Объединяет элементы массива в строку
  • join — Псевдоним implode
  • lcfirst — Преобразует первый символ строки в нижний регистр
  • levenshtein — Вычисляет расстояние Левенштейна между двумя строками
  • localeconv — Возвращает информацию о числовых форматах
  • ltrim — Удаляет пробелы (или другие символы) из начала строки
  • md5_file — Возвращает MD5-хэш файла
  • md5 — Возвращает MD5-хэш строки
  • metaphone — Возвращает ключ metaphone для строки
  • money_format — Форматирует число как денежную величину
  • nl_langinfo — Возвращает информацию о языке и локали
  • nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки
  • number_format — Форматирует число с разделением групп
  • ord — Возвращает ASCII-код символа
  • parse_str — Разбирает строку в переменные
  • print — Выводит строку
  • printf — Выводит отформатированную строку
  • quoted_printable_decode — Преобразует строку, закодированную методом quoted-printable в 8-битовую строку
  • quoted_printable_encode — Кодирует 8-битную строку в с помощью метода quoted-printable
  • quotemeta — Экранирует специальные символы
  • rtrim — Удаляет пробелы (или другие символы) из конца строки
  • setlocale — Устанавливает настройки локали
  • sha1_file — Возвращает SHA1-хэш файла
  • sha1 — Возвращает SHA1-хэш строки
  • similar_text — Вычисляет степень похожести двух строк
  • soundex — Возвращает ключ soundex для строки
  • sprintf — Возвращает отформатированную строку
  • sscanf — Разбирает строку в соответствии с заданным форматом
  • str_getcsv — Выполняет разбор CSV-строки в массив
  • str_ireplace — Регистронезависимый вариант функции str_replace
  • str_pad — Дополняет строку другой строкой до заданной длины
  • str_repeat — Возвращает повторяющуюся строку
  • str_replace — Заменяет все вхождения строки поиска на строку замены
  • str_rot13 — Выполняет преобразование ROT13 над строкой
  • str_shuffle — Переставляет символы в строке случайным образом
  • str_split — Преобразует строку в массив
  • str_word_count — Возвращает информацию о словах, входящих в строку
  • strcasecmp — Бинарно-безопасное сравнение строк без учета регистра
  • strchr — Псевдоним strstr
  • strcmp — Бинарно-безопасное сравнение строк
  • strcoll — Сравнение строк с учетом текущей локали
  • strcspn — Возвращает длину участка в начале строки, не соответствующего маске
  • strip_tags — Удаляет HTML и PHP-теги из строки
  • stripcslashes — Удаляет экранирование символов, произведенное функцией addcslashes
  • stripos — Возвращает позицию первого вхождения подстроки без учета регистра
  • stripslashes — Удаляет экранирование символов
  • stristr — Регистронезависимый вариант функции strstr
  • strlen — Возвращает длину строки
  • strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма «natural order»
  • strnatcmp — Сравнение строк с использованием алгоритма «natural order»
  • strncasecmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра
  • strncmp — Бинарно-безопасное сравнение первых n символов строк
  • strpbrk — Ищет в строке любой символ из заданного набора
  • strpos — Возвращает позицию первого вхождения подстроки
  • strrchr — Находит последнее вхождение символа в строке
  • strrev — Переворачивает строку задом наперед
  • strripos — Возвращает позицию последнего вхождения подстроки без учета регистра
  • strrpos — Возвращает позицию последнего вхождения подстроки в строке
  • strspn — Возвращает длину участка в начале строки, полностью соответствующего маске
  • strstr — Находит первое вхождение подстроки
  • strtok — Разбивает строку на токены
  • strtolower — Преобразует строку в нижний регистр
  • strtoupper — Преобразует строку в верхний регистр
  • strtr — Преобразует заданные символы или заменяет подстроки
  • substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
  • substr_count — Возвращает число вхождений подстроки
  • substr_replace — Заменяет часть строки
  • substr — Возвращает подстроку
  • trim — Удаляет пробелы (или другие символы) из начала и конца строки
  • ucfirst — Преобразует первый символ строки в верхний регистр
  • ucwords — Преобразует в верхний регистр первый символ каждого слова в строке
  • vfprintf — Записывает отформатированную строку в поток
  • vprintf — Выводит отформатированную строку
  • vsprintf — Возвращает отформатированную строку
  • wordwrap — Переносит строку по указанному количеству символов

Вернуться к: Строки

Функции для работы со строками — PHP functions documentation

mb_lcfirst

Преобразует первый символ в нижний регистр.

<?php
mb_lcfirst($data, $charset = 'UTF-8')
{
    /** .. */
}

Параметры функции

$data

Тип данных: array|string

Описание: Обрабатываемая строка или массив

$charset

Тип данных: string|string

Описание: Кодировка строки

Значение по умолчанию: UTF-8

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

Warning

Функция не доступна если не подключен расширение mbstring.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

mb_ucfirst

Преобразует первый символ в верхний регистр.

<?php
mb_ucfirst($data, $charset = 'UTF-8')
{
    /** .. */
}

Параметры функции

$data

Тип данных: array|string

Описание: Обрабатываемая строка или массив

$charset

Тип данных: string

Описание: Кодировка строки

Значение по умолчанию: UTF-8

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой.

array, если параметр $data является массивом.

Warning

Функция не доступна если не подключен расширение mbstring.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

one_space

Заменить множественную последовательность пробелов и табуляций на 1 пробел.

<?php
one_space($data)
{
    /** .. */
}

Параметры функции

$data

Тип данных: array|string

Описание: Обрабатываемая строка или массив

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой.

array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

one_new_line

Заменить множественную последовательность перевода строки на 1 перевод.

<?php
one_new_line($data)
{
    /** .. */
}

Параметры функции

$data

Тип данных: array|string

Описание: Обрабатываемая строка или массив

Note

Эта функция возвращает тип данных string

, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

full_one_space

Заменить множественную последовательность пробелов, табуляций и переводов строк на 1 пробел.

<?php
full_one_space($data)
{
    /** .. */
}

Параметры функции

$data

Тип данных: array|string

Описание: Обрабатываемая строка или массив

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

e_decode

Декодирование HTML сущностей в строке.

<?php
e_decode($data, $charset = 'UTF-8')
{
    /** .. */
}

Параметры функции

$data

Тип данных: array|string

Описание: Обрабатываемая строка или массив

$charset

Тип данных: string

Описание: Кодировка строки

Значение по умолчанию: UTF-8

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

e

Преобразование всех специальных символов строки в HTML сущности.

<?php
e($data, $charset = 'UTF-8')
{
    /** .. */
}

Параметры функции

$data

Тип данных: array|string

Описание: Обрабатываемая строка или массив

$charset

Тип данных: string

Описание: Кодировка строки

Значение по умолчанию: UTF-8

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

camel_case

Преобразовывание строки в CamelCase формат.

<?php
camel_case($str, $first = false)
{
    /** .. */
}

Параметры функции

$str

Тип данных: array|string

Описание: Обрабатываемая строка или массив

$first

Тип данных: bool

Описание: Необходимо ли первый символ перевести в верхний регистр

Значение по умолчанию: false

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

underscore

Преобразовывание строки в underscore формат.

<?php
underscore($str)
{
    /** .. */
}

Параметры функции

$str

Тип данных: array|string

Описание: Обрабатываемая строка или массив

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

normalize_name

Нормализация имен.

Эта функция преобразовывает в верхний регистр первый символ каждого слова.

В качестве разделителя слов используются символы ” “, “-“, “’”.

<?php
normalize_name($str)
{
    /** .. */
}

Параметры функции

$str

Тип данных: array|string

Описание: Обрабатываемая строка или массив

Note

Эта функция возвращает тип данных string, если первый параметр функции $data является строкой. array, если параметр $data является массивом.

See also

for_all
Эта функция корректно обрабатывает как строку, так и значения многомерных массивов

mb_str_replace

Replace all occurrences of the search string with the replacement string.

<?php
mb_str_replace($search, $replace, $subject, &$count = 0)
{
    /** .. */
}

Параметры функции

$search

Тип данных: string

Описание: Оискомая строка

$replace

Тип данных: string

Описание: Строка на которую необходимо заменить искомое

$subject

Тип данных: string

Описание: Строка в которой производится замена

&$count

Тип данных: string

Описание: Число произведенных замен в строке

Значение по умолчанию: 0

Note

Эта функция возвращает тип данных string


mb_trim_word

Обрезание текста по длине с поиском последнего полностью вмещающегося слова и удалением лишних крайних знаков пунктуации.

<?php
mb_trim_word($html, $len, $encoding = 'UTF-8')
{
    /** .. */
}

Параметры функции

$html

Тип данных: string

Описание: HTML текст

$len

Тип данных: string

Описание: Максимальная длина строки

$encoding

Тип данных: string

Описание: Кодировка

Значение по умолчанию: UTF-8

Note

Эта функция возвращает тип данных string


strip_tags_smart

Более продвинутый аналог strip_tags() для корректного вырезания тагов из html кода.

<?php
strip_tags_smart($s, $allowable_tags = null, $is_format_spaces = true,
            $pair_tags = array('script', 'style', 'map', 'iframe', 'frameset', 'object', 'applet', 'comment', 'button', 'textarea', 'select'),
            $para_tags = array('p', 'td', 'th', 'li', 'h2', 'h3', 'h4', 'h5', 'h5', 'h6', 'div', 'form', 'title', 'pre')
    )
{
    /** . . */
}

Параметры функции

$allowable_tags

Тип данных: array|null

Описание: Массив тагов, которые не будут вырезаны

Значение по умолчанию: null

Пример: ‘b’ — тег b с сохранением атрибутов, ‘<b>’ — тэг b без сохранения атрибутов

$is_format_spaces

Тип данных: bool

Описание: Форматировать пробелы и переносы строк? Вид текста на выходе (plain) максимально приближеется виду текста в браузере на входе. Другими словами, грамотно преобразует text/html в text/plain. Текст форматируется только в том случае, если были вырезаны какие-либо таги.

Значение по умолчанию: true

$pair_tags

Тип данных: array

Описание: Массив имён парных тагов, которые будут удалены вместе с содержимым

Значение по умолчанию: array(‘script’, ‘style’, ‘map’, ‘iframe’, ‘frameset’, ‘object’, ‘applet’, ‘comment’, ‘button’, ‘textarea’, ‘select’)

$para_tags

Тип данных: array

Описание: Массив имён парных тагов, которые будут восприниматься как параграфы (если $is_format_spaces = true)

Значение по умолчанию: array(‘p’, ‘td’, ‘th’, ‘li’, ‘h2’, ‘h3’, ‘h4’, ‘h5’, ‘h5’, ‘h6’, ‘div’, ‘form’, ‘title’, ‘pre’)

Note

Эта функция возвращает тип данных string

Возможности:
  • корректно обрабатываются вхождения типа “a < b > c”
  • корректно обрабатывается “грязный” html, когда в значениях атрибутов тагов могут встречаться символы < >
  • корректно обрабатывается разбитый html
  • вырезаются комментарии, скрипты, стили, PHP, Perl, ASP код, MS Word таги, CDATA
  • автоматически форматируется текст, если он содержит html код
  • защита от подделок типа: “<<fake>script>alert(‘hi’)</</fake>script>”

last_implode

Склеивание всех элементов массива по разделителю. Для последнего элемента используется специфичный разделитель.

<?php
last_implode($sep, $data, $last = '')
{
    /** .. */
}

Параметры функции

$sep

Тип данных: string

Описание: разделитель элементов массива

$data

Тип данных: array

Описание: Массив

$last

Тип данных: string

Описание: Разделитель для последнего элемента массива. Если разделитель не установлен или пуст, то используется $sep

Значение по умолчанию: null

Note

Эта функция возвращает тип данных string


is_nop

Является ли строка пустой.

<?php
is_nop($val)
{
    /** .. */
}

Параметры функции

$sep

Тип данных: string

Описание: проверяемая строка

Note

Эта функция возвращает тип данных bool


first_word

Получение первого слова из строки.

<?php
first_word($string)
{
    /** .. */
}

Параметры функции

$string

Тип данных: string

Описание: Обрабатываемая строка

Note

Эта функция возвращает тип данных string

PHP Variables and Strings Tutorial – vegibit

Разберите свой Fender Stratocaster и наденьте новые струны. Подключитесь к эпическому стеку Marshall и доведите его до 11. Спросите публику, готовы ли они раскачать ваш лучший британский акцент. Мы собираемся рок-н-ролл с PHP Variables и Strings. Наш вступительный рифф расскажет о некоторых соглашениях об именах, необходимых для создания ваших собственных переменных и строк. Далее, когда вы будете разрывать гриф вверх и вниз, вам нужно будет избегать некоторых ключевых слов, которые не являются частью гаммы вашего джема. Наконец, вы начнете соло и примените свои новые навыки. Давайте рок-н-ролл.


Соглашения об именах переменных PHP

Переменные являются частью каждого языка программирования, и PHP не исключение. Мы используем их для хранения изменяемой информации, то есть мы можем вставлять, обновлять или удалять значения из переменной. Думайте о переменной как о небольшом фрагменте памяти в вашем компьютере. Как следует из их названия, переменные будут содержать изменяющиеся данные в течение своего жизненного цикла. Переменные PHP следуют определенному соглашению об именах. Вот некоторые из рекомендаций, которым нужно следовать.

Начинается со знака доллара $ Каждая переменная PHP начинается со знака доллара. Кому-то это нравится, а кого-то это раздражает. В общей схеме это служит хорошей цели, поскольку при просмотре кода вы можете быстро идентифицировать все, что является переменной. Это помогает с читабельностью.

  • Буква или символ подчеркивания За начальным знаком доллара должна следовать буква или символ подчеркивания.
  • Буквы Цифры Дефисы и подчеркивания Общее имя переменной может содержать любой из этих символов.
  • Без пробелов В имени переменной не должно быть пробелов.
  • С учетом регистра Переменные чувствительны к регистру, поэтому $boo и $BOO — это две разные переменные.

Примеры переменных PHP


 

Приведенный выше фрагмент содержит множество допустимых имен переменных. Если бы вы использовали их в своем коде, они бы отлично работали. Однако есть несколько лучших практик, поэтому давайте рассмотрим эту идею. Во-первых, последний пример $__coolThing — плохая идея. Причина в том, что эта переменная начинается с двух символов подчеркивания. Хотя технически вы можете это сделать, это может сильно запутать других, которым может понадобиться работать с вашим кодом. Хуже всего то, что $_thing стиль создания переменной. Сам PHP использует подчеркивание для особых случаев использования. Вы не хотите сомневаться в себе, когда сталкиваетесь с этими экземплярами с одним или несколькими символами подчеркивания в начале. Общий стиль переменных, который лучше всего использовать в PHP, имеет вид $my_variable . Это может иметь место и в других языках, однако в PHP вы обнаружите, что многие разработчики придерживаются этого стиля.

Ключевые слова PHP

Еще одна вещь, о которой следует помнить, это ключевые слова, которые PHP уже использует. Это все языковые конструкции. Технически вы все еще можете использовать их в качестве имен переменных, но зачем вам это делать? Не делайте этого, так как вы только запутаете себя и других.

__halt_compiler() реферат и массив() как
перерыв вызываемый кейс поймать класс
клон константа продолжить объявить по умолчанию
штамп() до эхо еще иначе
пустой () конец объявления конецдля эндфорич конец
концевой выключатель окончание оценка() выход() удлиняет
окончательная наконец для для каждого функция
глобальный перейти к если орудия включает
include_once экземпляр вместо интерфейс isset ()
список() пространство имен новый или печать
частный защищенный общественный требуется require_once
возврат статический переключатель бросить черта
попробовать не установлен () использовать или в то время как
хор выход      

Использование переменных PHP

Самый простой способ понять переменные — создать несколько собственных и начать размещать в них данные. Здесь мы создадим две переменные и поместим в них различную информацию, а затем отобразим их в браузере, чтобы подтвердить, что содержимое указанных переменных действительно обновляется и изменяется.



<голова>
<мета-кодировка="utf-8">
Переменные в PHP

<тело>
';

$переменная = 50;
echo $переменная.'
'; $something_else = 'Вы великолепны, сэр'; эхо $something_else; ?>

В первой строке мы используем оператор присваивания = , чтобы поместить значение 25 в переменную с метким названием 9.0029 $переменная . В строке 2 мы используем языковую конструкцию echo для вывода на экран содержимого переменной $variable . Обратите внимание, что в этой же строке мы используем оператор конкатенации . , чтобы добавить тег разрыва строки html, чтобы у нас было какое-то полуприличное форматирование при запуске скрипта. В этот момент, когда скрипт запустится, браузер увидит на экране значение 25 .

Поскольку сценарий продолжается сверху вниз, как и все сценарии PHP, мы принимаем значение 50 и перезапишите существующее значение 25 . Просто переназначив значение существующей переменной, мы можем перезаписать или стереть , как любят говорить некоторые программисты, значение. Когда мы затем выводим ту же переменную на экран, мы видим, что теперь это 50 . Отличная работа джедая.

В строке 7 сценария мы создаем вторую переменную с именем $something_else . В первых двух сценариях мы помещали числовые значения в переменную. Когда мы это делаем, нам не нужно заключать данные в одинарные или двойные кавычки. Однако в этом последнем примере мы пытаемся поместить строку в $something_else , поэтому эти данные заключены в одинарные кавычки. Одинарные и двойные кавычки имеют разные значения в PHP, к которым мы вскоре вернемся. В качестве последнего шага в этой базовой php-программе мы просто повторяем содержимое $something_else и подтверждаем, что да — Вы, сэр, великолепны .

Необработанный HTML-вывод
 

<голова>
<мета-кодировка="utf-8">
Переменные в PHP

<тело>
25
50
Вы великолепны, сэр.
Визуализированный вывод браузера

25
50
Вы, сэр, великолепны


Работа со строками в PHP

Строки распространены в любом языке программирования, который вы можете использовать. Мы даже использовали строки в этом уроке, так что давайте рассмотрим их поближе. Строка — это просто набор одиночных символов. Символами могут быть буквы, цифры, символы и так далее. Эта строка символов будет заключена либо в одинарные, либо в двойные кавычки, чтобы обозначить, что вы действительно имеете дело со строкой. Теперь полезно помнить, что при работе со строками стиль их заключения в двойные и одинарные кавычки имеет другое значение. У вас по-прежнему будет строка, но основное отличие состоит в том, что с двойными кавычками PHP может использовать интерполяцию, что означает, что он может извлекать значение переменной из этой переменной и отображать значение при выполнении кода. Одинарные кавычки не позволяют этого, поэтому при использовании одинарных кавычек вы обнаружите, что часто используете оператор конкатенации, если хотите создать строки любой длины с переменными. Оба подхода работают, попробуйте их и посмотрите, что вам нравится. лучший.

Самый простой пример строки

Начнем с самого начала, давайте посмотрим на очень простую строку в PHP, которую мы выводим в браузер.

  

Возможно, вы что-то заметили в виде символа обратной косой черты . Когда мы используем строки в PHP и стиль одинарных кавычек, если в строке есть какие-либо одинарные кавычки, нам нужно экранировать , чтобы движок PHP знал, что это не конец нашей строки, а фактический символ, с которым мы хотели бы работать. На этом легко споткнуться, поэтому запишите это.

Ввод HTML в строку PHP

Мы упоминали, что вы можете вставлять в свои строки буквы, цифры, символы и т. д. Угадайте, что такое HTML? Правильно, это набор символов, используемых для разметки данных на веб-странице. Это означает, верно, Нэшвилл, что вы можете поместить настоящий HTML в свои строки. С вашим воображением вы можете создавать всевозможные дикие и сумасшедшие вещи, используя этот подход. Давайте рассмотрим простой пример.

 

<голова>
<мета-кодировка="utf-8">
Строки в PHP

<тело>
 

Я живу в теге h2


'; echo '

Разве это не прекрасно?


'; echo 'Почему да, да, дружище.
'; ?>

Итак, мы видим, что, включив HTML в саму строку, мы можем значительно изменить то, как браузер отображает данные.

Работа с двойными кавычками в строках PHP

Теперь мы возьмем тот же фрагмент и немного изменим его. Мы будем использовать некоторые переменные, а затем поместим эти переменные в строки, которые будут отправлены в браузер. Я знаю, что вы взволнованы, так что давайте сразу к делу.

 

<голова>
<мета-кодировка="utf-8">
Строки в PHP

<тело>
 

I $verb в теге h2


"; echo "

Разве это не красивое $state?


"; echo "Почему да, да, это $person.