Большая заметка по языку PHP

PHP работа со строками (заметка №26 по PHP)

echo – не функция, а языковая конструкция, поэтому использовать при ее вызове круглые скобки не
обязательно. echo позволяет выводить на экран строки, переданные ей в качестве параметров. Параметров
у echo может быть сколько угодно. Их разделяют запятыми или объединяют с помощью оператора конкатенации
и никогда не заключают в круглые скобки.

echo "Пришел ", "увидел ", "победил ";

echo "Пришел " . "увидел " . "победил ";

PHP функции по обработке строк

addcslashes — Экранирует cтроку слешами в стиле языка C
string addcslashes ( string $str , string $charlist )

addslashes — Экранирует строку с помощью слешей. Возвращает строку с обратным слешем перед символами, которые нужно экранировать. Экранируются одиночная кавычка ('), двойная кавычка ("), обратный слеш (\) и NUL (NULL байт).
string addslashes ( string $str )

<?php
$str = "Ваше имя O'Reilly?";

// выводит: Ваше имя O\'Reilly?
echo addslashes($str);
?>

bin2hex — Преобразует бинарные данные в шестнадцатеричное представление
chop — Псевдоним rtrim

chr — Возвращает символ по его коду
string chr ( int $ascii )

chunk_split — Разбивает строку на фрагменты
convert_cyr_string — Преобразует строку из одной кириллической кодировки в другую
convert_uudecode — Декодирует строку из формата uuencode в обычный вид
convert_uuencode — Кодирует строку в формат uuencode
count_chars — Возвращает информацию о символах, входящих в строку
crc32 — Вычисляет полином CRC32 для строки

crypt — Необратимое хэширование строки. PHP 5.6 и новее вызывают ошибку E_NOTICE, если не использовать соль.
string crypt ( string $str [, string $salt ] )

explode — Разбивает строку с помощью разделителя
array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )

fprintf — Записывает отформатированную строку в поток
int fprintf ( resource $handle , string $format [, mixed $args [, mixed $... ]] )

get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
hebrev — Преобразует текст на иврите из логической кодировки в визуальную
hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки
hex2bin — Преобразует шестнадцатеричные данные в двоичные

html_entity_decode — Преобразует все HTML-сущности в соответствующие символы. html_entity_decode() является противоположностью функции htmlentities(). Она преобразует все HTML-сущности в строке string в соответствующие символы.
string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") ]] )

htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности
string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы
string htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )

htmlspecialchars — Преобразует специальные символы в HTML-сущности
string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get(«default_charset») [, bool $double_encode = true ]]] )

implode — Объединяет элементы массива в строку
string implode ( string $glue , array $pieces )
string implode ( array $pieces )

join — Псевдоним implode
lcfirst — Преобразует первый символ строки в нижний регистр
levenshtein — Вычисляет расстояние Левенштейна между двумя строками
localeconv — Возвращает информацию о числовых форматах

ltrim — Удаляет пробелы (или другие символы) из начала строки
string ltrim ( string $str [, string $character_mask ] )

md5_file — Возвращает MD5-хэш файла
md5 — Возвращает MD5-хэш строки
metaphone — Возвращает ключ metaphone для строки

money_format — Форматирует число как денежную величину
nl_langinfo — Возвращает информацию о языке и локали
nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки
number_format — Форматирует число с разделением групп
ord — Возвращает ASCII-код символа

parse_str — Разбирает строку в переменные. В PHP 7.2.0 без второго параметра будет вызывать ошибку уровня E_DEPRECATED.
void parse_str ( string $encoded_string [, array &$result ] )

$str = "first=value&arr[]=foo+bar&arr[]=baz";

// Рекомендуемый подход
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

print — Выводит строку, (это конструкция языка) поэтому заключать аргументы в скобки необязательно. Главное отличие от echo в том, что print принимает только один аргумент и всегда возвращает 1.
int print ( string $arg )

printf — Выводит отформатированную строку
int printf ( string $format [, mixed $args [, mixed $... ]] )

quoted_printable_decode — Преобразует строку, закодированную методом quoted-printable в 8-битовую строку
quoted_printable_encode — Кодирует 8-битную строку в с помощью метода quoted-printable
quotemeta — Экранирует специальные символы. Эта функция безопасна для обработки данных в двоичной форме.

rtrim — Удаляет пробельные (или другие символы) из конца строки
string rtrim ( string $str [, string $character_mask ] )

setlocale — Устанавливает настройки локали
sha1_file — Возвращает SHA1-хэш файла
sha1 — Возвращает SHA1-хэш строки
similar_text — Вычисляет степень похожести двух строк
soundex — Возвращает ключ soundex для строки

sprintf — Возвращает отформатированную строку. Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:

  • % — символ процента. Аргумент не используется.
  • b — аргумент трактуется как целое и выводится в виде двоичного числа.
  • c — аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
  • d — аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
  • e — аргумент трактуется как число в научной нотации (например, 1.2e+2).
  • E — аналогично %e, но использует заглавную букву (например, 1.2E+2).
  • f — аргумент трактуется как число с плавающей точкой и также выводится в зависимости от локали.
  • F — аргумент трактуется как число с плавающей точкой и также выводится, но без зависимости от локали.
  • g — выбирает самую краткую запись из %e и %f.
  • G — выбирает самую краткую запись из %E и %f.
  • o — аргумент трактуется как целое и выводится в виде восьмеричного числа.
  • s — аргумент трактуется как строка.
  • u — аргумент трактуется как целое и выводится в виде десятичного числа без знака.
  • x — аргумент трактуется как целое и выводится в виде шестнадцатеричного числа (в нижнем регистре).
  • X — аргумент трактуется как целое и выводится в виде шестнадцатеричного числа (в верхнем регистре).

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

<?php
$num = 5;
$location = 'дереве';

$format = '%d обезьян сидят на %s';
echo sprintf($format, $num, $location);
?>

sscanf — Разбирает строку в соответствии с заданным форматом
str_getcsv — Выполняет разбор CSV-строки в массив
str_ireplace — Регистронезависимый вариант функции str_replace
str_pad — Дополняет строку другой строкой до заданной длины
str_repeat — Возвращает повторяющуюся строку

str_replace — Заменяет все вхождения строки поиска на строку замены
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

str_rot13 — Выполняет преобразование ROT13 над строкой
str_shuffle — Переставляет символы в строке случайным образом

str_split — Преобразует строку в массив
array str_split ( string $string [, int $split_length = 1 ] )

str_word_count — Возвращает информацию о словах, входящих в строку
strcasecmp — Бинарно-безопасное сравнение строк без учета регистра
strchr — Псевдоним strstr

strcmp — Бинарно-безопасное сравнение строк
int strcmp ( string $str1 , string $str2 )

$var1 = "Hello";
$var2 = "hello";
if (strcmp($var1, $var2) !== 0) {
    echo '$var1 не равно $var2 при регистрозависимом сравнении';
}

strcoll — Сравнение строк с учетом текущей локали
strcspn — Возвращает длину участка в начале строки, не соответствующего маске

strip_tags — Удаляет HTML и PHP-теги из строки
string strip_tags ( string $str [, string $allowable_tags ] )

$text = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment">Еще текст</a>';
echo strip_tags($text);
echo "\n";

// Разрешаем <p> и <a>
echo strip_tags($text, '<p><a>');
/* Результат:
Параграф. Еще текст
<p>Параграф.</p> <a href="#fragment">Еще текст</a>
*/

stripcslashes — Удаляет экранирование символов, произведенное функцией addcslashes

stripos — Возвращает позицию первого вхождения подстроки без учета регистра. Возвращает FALSE, если искомая строка не найдена.
mixed stripos ( string $haystack , string $needle [, int $offset = 0 ] )

$findme    = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// Конечно, 'a' не входит в 'xyz'
if ($pos1 === false) {
    echo "Строка '$findme' не найдена в строке '$mystring1'";
}

// Заметьте, что используется ===.  Использование == не даст верного 
// результата, так как 'a' в нулевой позиции.
if ($pos2 !== false) {
    echo "Нашел '$findme' в '$mystring2' в позиции $pos2";
}

stripslashes — Удаляет экранирование символов
string stripslashes ( string $str )

$str = "Ваc зовут O\'reilly?";

// выводит: Вас зовут O'reilly?
echo stripslashes($str);

stristr — Регистронезависимый вариант функции strstr
strlen — Возвращает длину строки
strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма «natural order»
strnatcmp — Сравнение строк с использованием алгоритма «natural order»
strncasecmp — Бинарно-безопасное сравнение первых n символов строк без учета регистра
strncmp — Бинарно-безопасное сравнение первых n символов строк
strpbrk — Ищет в строке любой символ из заданного набора

strpos — Возвращает позицию первого вхождения подстроки
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Заметьте, что используется ===.  Использование == не даст верного 
// результата, так как 'a' находится в нулевой позиции.
if ($pos === false) {
    echo "Строка '$findme' не найдена в строке '$mystring'";
} else {
    // $pos !== false
    echo "Строка '$findme' найдена в строке '$mystring'";
    echo " в позиции $pos";
}
?>

strrchr — Находит последнее вхождение символа в строке
strrev — Переворачивает строку задом наперед
strripos — Возвращает позицию последнего вхождения подстроки без учета регистра
strrpos — Возвращает позицию последнего вхождения подстроки в строке
strspn — Возвращает длину участка в начале строки, полностью соответствующего маске

strstr — Находит первое вхождение подстроки
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

strtok — Разбивает строку на токены
strtolower — Преобразует строку в нижний регистр
strtoupper — Преобразует строку в верхний регистр

strtr — Преобразует заданные символы или заменяет подстроки
string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )

<?php
//В этой форме strtr() осуществляет побайтное преобразование
//Таким образом, здесь подразумевается однобайтная кодировка:
$addr = strtr($addr, "äåö", "aao");

$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans); // hello all, I said hi
?>

substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
int substr_compare ( string $main_str , string $str , int $offset [, int $length [, bool $case_insensitivity = false ]] )

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // предупреждение
?>

substr_count — Возвращает число вхождений подстроки
int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )

<?php
$text = 'This is a test';
echo strlen($text); // 14

echo substr_count($text, 'is'); // 2

// строка уменьшается до 's is a test', поэтому вывод будет 1
echo substr_count($text, 'is', 3);

// текст уменьшается до 's i', поэтому вывод будет 0
echo substr_count($text, 'is', 3, 3);

// генерирует предупреждение, так как  5+10 > 14
echo substr_count($text, 'is', 5, 10);


// выводит только 1, т.к. перекрывающиеся подстроки не учитываются
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

substr_replace — Заменяет часть строки. Заменяет часть строки string, начинающуюся с символа с порядковым номером start и (необязательной) длиной length, строкой replacement и возвращает результат.
mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

$var = 'ABCDEFGH:/MNRPQR/';
echo "Оригинал: $var<hr />\n";

/* Обе следующих строки заменяют всю строку $var на 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* Вставляет 'bob' в начало $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

/* Обе следующих строки заменяют 'MNRPQR' в $var на 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

/* Удаляет 'MNRPQR' из $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";

substr — Возвращает подстроку
string substr ( string $string , int $start [, int $length ] )

echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// Получить доступ к отдельному символу в строке
// можно также с помощью "квадратных скобок"
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

trim — Удаляет пробелы (или другие символы) из начала и конца строки. Если второй параметр не передан, trim() удаляет следующие символы: 1) » » (ASCII 32 (0x20)), обычный пробел. 2) «\t» (ASCII 9 (0x09)), символ табуляции. 3) «\n» (ASCII 10 (0x0A)), символ перевода строки. 4) «\r» (ASCII 13 (0x0D)), символ возврата каретки. 5) «\0» (ASCII 0 (0x00)), NUL-байт. 6) «\x0B» (ASCII 11 (0x0B)), вертикальная табуляция.
string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )

ucfirst — Преобразует первый символ строки в верхний регистр
ucwords — Преобразует в верхний регистр первый символ каждого слова в строке
vfprintf — Записывает отформатированную строку в поток
vprintf — Выводит отформатированную строку
vsprintf — Возвращает отформатированную строку
wordwrap — Переносит строку по указанному количеству символов



www.000webhost.com