ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Кодирование и декодирование. Часть Шестая.


12-01-2015

string chr(integer ascii_code)
Функция chr предназначена для получения символа по ASCII-коду. Эта функция полезна в ситуациях, когда необходимо использовать непечатаемые символы, не имеющие соответствующего кода с символом обратной косой черты или в которых такой код порождает неоднозначность. Представим сценарий, который производит запись форматированного текста в файл. Обычно для обозначения маркера конца строки используется последовательность n. Но при переносе такого сценария из среды Windows в среду Linux его поведение может измениться, так как в ОС Windows для таких целей предназначена последовательность символов "возврат каретки" и "перевод строки". Для того чтобы каждая строка завершалась только символом перевода строки, можно использовать функцию chr в следующем виде: chr(10) (листинг 12.25).
Конечно, для определения ASCII-кода можно всегда использовать коды с обратной косой чертой. Их перечень дан в приложении Б, "ASCII-коды", и речь о них шла в главе 2, "Переменные, операторы и выражения".
Еще одной альтернативой функции chr является функция sprintf. Формат %c соответствует одному символу, а это позволяет задать ASCII-код для одного символа. Кроме того, функции наподобие ereg_replace принимают целые числа, интерпретируемые ими как ASCII-коды.
Для получения ASCII-кода символа используется функция ord. ASCII-коды приводятся в приложении Б, "ASCII-коды".

| Листинг 12.25. Функция chr_
<?php
//открыть тестовый файл
$fp = fopen("data.txt", "w");
//сделать в него несколько записей, имеющих
// символы перевода строки в качестве маркеров конца строки
fwrite($fp, " запись 1" . chr(10));
fwrite($fp, " запись 2" . chr(10));
// закрыть файл
fclose($fp);
?>

string chunk_split(string data, integer length, string marker)
Функция chunk_split (листинг 12.26) возвращает данные из аргумента data после вставки маркера конца строки с постоянными интервалами. По умолчанию после каждых 76 символов вставляются символы "возврат каретки" и "перевод строки". Кроме того, можно задать разные расстояния между маркерами и установить разные маркеры.
Эту функцию в свое время добавил Саша Шуманн специально для разбиения строк в коде base64 на 76-символьные последовательности. И хотя ereg_replace обеспечивает такую же функциональность, функция chunk_split работает быстрее. Но она не подходит для выравнивания текста, т.е. она не подходит для осуществления мягкого переноса на печатаемых страницах. 

j Листинг 12.26. Функция chunk split_
<?php
$encodedData = chunk_split(base64_encode($rawData));

string convert_cyr_string(string text, string from, string to)
Функция convert_cyr_string (листинг 12.27) предназначена для преобразования строки из одной кодировки кириллицы в другую. Аргументами from и to задаются односимвольные коды (табл. 12.2).
Кодирование и декодирование
j Листинг 12.27. Функция convert_cyr_string_
<?php
$new = convert_cyr_string($old, "a", "w");
?>

string dirname(string path)
Функция dirname (листинг 12.28) возвращает только ту часть пути, в которой описывается каталог. Завершающая косая черта не включается в возвращаемое значение. Каталоги разделяются косой чертой. На платформе Windows могут также использоваться обратные косые. Для получения части, в которой задается имя файла, используется функция basename. Если заданный путь содержит только имя файла, функция возвращает одну точку.

| Листинг 12.28. Функция dirname_
<?php
$path = "/usr/local/bin/ls"; //распечатать /usr/local/bin print(dirname($path));

 ?> 
string escapeshellarg(string argument)
Функция escapeshellarg (листинг 12.29) добавляет обратную косую черту перед любым символом, который может вызывать проблемы в команде оболочки, и заключает весь аргумент в одинарные кавычки.

| Листинг 12.29. Функция escapeshellarg_
<?php
$arg = escapeshellarg("potentially; bad text $ ' }"); print("Trying echo $arg<br>n"); system("echo $arg");
?>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Кодирование и декодирование. Часть Пятая. PHP. Кодирование и декодирование. Часть Седьмая.