Форматирование строк

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; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Доступные значения параметра 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 &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// выводит: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
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) "&NewLine;"
  ["!"]=>
  string(6) "&excl;"
  ["""]=>
  string(6) "&quot;"
  ["#"]=>
  string(5) "&num;"
  ["$"]=>
  string(8) "&dollar;"
  ["%"]=>
  string(8) "&percnt;"
  ["&"]=>
  string(5) "&amp;"
  ["'"]=>
  string(6) "&apos;"
  // ...
}
*/
?>

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} - последовательность символов для регулярного выражения