Форматирование строк
array localeconv ()
- Возвращает ассоциативный массив с информацией о числовых и денежных форматах в текущей локали. setlocale ( LC_ALL, ”zh-hk”); *Устанавливает настройки локали.
money_format (float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = ",")
- Форматирует число с разделением групп
<?php
$number = 1234.56;
// международный формат в локали en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56
string quotemeta ( string $str )
- Возвращает модифицированную строку, в которой перед каждым символом из следующего списка: . \ + * ? [ ^ ] ( $ ) вставлен обратный слеш (\). Тоже что и addslashes(), только экранирует больше символов.
<?php
$str = "Hello world. (can you hear me?)";
echo quotemeta($str);
?>
The output of the code above will be:
Hello world\. \(can you hear me\?\)
htmlspecialchars ($string)
- Преобразует специальные символы в HTML-сущности (&,”,’,<,> )
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
Доступные значения параметра flags
Константа | Описание |
---|---|
ENT_COMPAT | Преобразует двойные кавычки, одинарные кавычки не изменяются. |
ENT_QUOTES | Преобразует как двойные, так и одинарные кавычки. |
ENT_NOQUOTES | Оставляет без изменения как двойные, так и одинарные кавычки. |
htmlspecialchars_decode ($string)
- Эта функция является антиподом htmlspecialchars()
- Она преобразует специальные HTML-сущности обратно в соответствующие символы.
htmlentities ($string,FLAGS)
- Эта функция идентична htmlspecialchars() за исключением того, что htmlentities() преобразует все символы в соответствющие HTML-сущности (для тех символов, для которых HTML сущности существуют).
<?php
$str = "A 'quote' is <b>bold</b>";
// выводит: A 'quote' is <b>bold</b>
echo htmlentities($str);
// выводит: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
html_entity_decode ($string);
- Является противоположностью функции htmlentities(). Она преобразует все HTML-сущности в строке string в соответствующие символы.
get_html_translation_table (HTML_ENTITIES \ HTML_SPECIALCHAR)
- Возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities()
<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
/*
array(1510) {
["
"]=>
string(9) "
"
["!"]=>
string(6) "!"
["""]=>
string(6) """
["#"]=>
string(5) "#"
["$"]=>
string(8) "$"
["%"]=>
string(8) "%"
["&"]=>
string(5) "&"
["'"]=>
string(6) "'"
// ...
}
*/
?>
strip_tags ($string,$allowable_tags)
- Удаляет HTML и PHP-теги из строки
<?php
$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>
*/
?>
nl2br ($string)
- Возвращает строку string, в которой перед каждым переводом строки (\r\n, \n\r, \n и \r) вставлен <br/> или <br>.
<?php
echo nl2br("foo - это вам не\n bar");
/*
foo - это вам не<br />
bar
*/
?>
wordwrap ($string,$length,$break_symbol,$breakwords)
- Переносит строку по указанному количеству символов.
<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");
echo $newtext;
/*
The quick brown fox<br />
jumped over the lazy<br />
dog.
*/
?>
string ucfirst ( string $str )
- Преобразует первый символ строки в верхний регистр
string lcfirst ( string $str )
- Преобразует первый символ строки в нижний регистр.
strtoupper ($string)
- Преобразует строку в верхний регистр.
strtolower ($string)
- Преобразует строку в нижний регистр.
ucwords($string)
- Преобразует в верхний регистр первый символ каждого слова в строке.
bin2hex ($string); hex2bin ($string);
- Преобразует бинарные данные в шестнадцатеричное представление и наоборот.
convert_cyr_string ($string)
- Преобразует строку из одной кириллической кодировки в другую.
hebrev($string)
- Преобразует текст на иврите из логической кодировки в визуальную.
hebrevc ($string)
- Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки.
chr($ascii)
- Возвращает символ по его коду.
ord($string)
- Возвращает ASCII-код символа.
convert_uuencode($string) / convert_uudecode($string)
- Кодирует/раскодирует строку в формат uuencode.
base64_encode($string) / base64_decode($string)
- Кодирует/раскодирует данные алгоритмом MIME base64
urlencode()
- URL-кодирование строки.
- Эта функция удобна, когда закодированная строка будет использоваться в запросе, как часть URL, также это удобный способ для передачи переменных другим страницам.
print ($string) / print "$string"
- Всегда возвращает 1
printf ($format, $args, …)
- Выводит отформатированную строку.
- Возвращает длину выведенной строки.
sprintf ($format, $args)
- Возвращает отформатированную строку.
vprintf ($format, $array_args)
- Эта функция подобна printf(), но она принимает не переменное число аргументов, а массив.
vsprintf()
- Возвращает отформатированную строку.
fprintf ($handle, $format, $args)
- Записывает строку, созданную с использованием строки формата format, в поток, дескриптор которого передается в параметре handle.
sscanf ($string, $format, $optional_args)
- Разбирает строку в соответствии с заданным форматом.
fscanf ($handle, $format, $optional_args)
- Обрабатывает данные из файла в соответствии с форматом.
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
- Эта функция возвращает строку input, дополненную слева, справа или с обоих сторон до заданной длины.
- Замечание: pad_string может быть урезана, если необходимое количество дополняемых символов не делится нацело на длину строки pad_string.
- Замечание: если указан STR_PAD_BOTH, то дополнение строки идет по символу, сначала права, потом слева.
<?php
$input = "Alien";
echo str_pad($input, 10); // выводит "Alien "
echo str_pad($input, 10, "-=", STR_PAD_LEFT); // выводит "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH); // выводит "__Alien___"
echo str_pad($input, 6 , "___"); // выводит "Alien_"
?>
Спецификаторы форматирования printf
- % - символ процента. Аргумент не используется.
- b - аргумент трактуется как целое и выводится в виде двоичного числа.
- c - аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
- d - аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
- e - аргумент трактуется как число в в научной нотации (например, 1.2e+2). Описатель точности указывает на количество знаков после запятой, начиная с версии PHP 5.2.1. В более ранних версиях он обозначал количество значащих цифр (на один знак меньше).
- E - аналогично %e, но использует заглавную букву (например, 1.2E+2).
- f - аргумент трактуется как число с плавающей точкой и также выводится в зависимости от локали.
- F - аргумент трактуется как число с плавающей точкой и также выводится, но без зависимости от локали. Доступно, начиная с версии PHP 4.3.10 и PHP 5.0.3.
- o - аргумент трактуется как целое и выводится в виде восьмеричного числа.
- s - аргумент трактуется как строка.
- u - аргумент трактуется как целое и выводится в виде десятичного числа без знака.
- x - аргумент трактуется как целое и выводится в виде шестнадцатеричного числа (в нижнем регистре).
- X - аргумент трактуется как целое и выводится в виде шестнадцатеричного числа (в верхнем регистре).
Экранирующие последовательности
- \n - перевод строки
- \r - возврат каретки
- \t - горизонтальная табуляция
- \\ - обратный слэш
- \$ - знак доллара
- \" - двойная ковычка
- \[0-7]{1,3} - последовательность символов для регулярного выражения