Функции работы со строками в PHP - Форум


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Все для вебмастера » JavaScript и языки разметки » Функции работы со строками в PHP (Функции работы со строками в PHP)
Функции работы со строками в PHP
AdminДата: Вторник, 12.07.2011, 05:24 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 102
Репутация: 5
Статус: Offline
addcslashes - Экранирует спецсимволы в стиле языка C
addslashes - Экранирует спецсимволы в строке
bin2hex - Преобразует бинарные данные в шестнадцатиричное представление
chr - Возвращает символ по его коду
chunk_split - Разбивает строку на фрагменты
convert_cyr_string - Преобразует строку из одной кириллической кодировки в другую
count_chars - Возвращает информацию о символах, входящих в строку
crc32 - Вычисляет CRC32 для строки
crypt - Необратимое шифрование (хэширование)
echo - Выводит одну или более строк
explode - Разбивает строку на подстроки
fprintf - Записывает отформатированную строку в поток
get_html_translation_table - Возвращает таблицу преобразований
hebrev - Преобразует текст на иврите из логической кодировки в визуальную
hebrevc - Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевод
htmlentities - Преобразует символы в соответствующие HTML сущности
htmlspecialchars - Преобразует специальные символы в HTML сущности
html_entity_decode - Преобразует HTML сущности в соответствующие символы
implode - Объединяет элементы массива в строку
localeconv - Возвращает информацию о числовых форматах
ltrim - Удаляет пробелы из начала строки
md5 - Возвращает MD5 хэш строки
md5_file - Возвращает MD5 хэш файла
metaphone - Возвращает ключ metaphone для строки
nl2br - Вставляет HTML код разрыва строки перед каждым переводом строки
number_format - Форматирует число с разделением групп
ord - Возвращает ASCII код символа
parse_str - Разбирает строку в переменные
print - Выводит строку
printf - Выводит отформатированную строку
quoted_printable_decode - Раскодирует строку, закодированную методом quoted printable
quotemeta - Экранирует специальные символы
rtrim - Удаляет пробелы из конца строки
sha1 - Возвращает SHA1 хэш строки
sha1_file - Возвращает SHA1 хэш файла
similar_text - Вычисляет степень похожести двух строк
soundex - Возвращает ключ soundex для строки
sprintf - Возвращает отформатированную строку
sscanf - Разбирает строку в соответствии с заданным форматом
strcasecmp - Сравнение строк без учета регистра, безопасное для данных в двоичной форме
strcmp - Сравнение строк, безопасное для данных в двоичной форме
strcoll - Сравнение строк с учетом текущей локали
strcspn - Возвращает длину участка в начале строки, не соответствующего маске
stripcslashes - Удаляет экранирование символов, произведенное функцией addcslashes()
stripos - Возвращает позицию первого вхождения подстроки без учета регистра
stripslashes - Удаляет экранирование символов, произведенное функцией addslashes()
strip_tags - Удаляет HTML и PHP тэги из строки
stristr - Аналог функции strstr, но независит от регистра
strlen - Возвращает длину строки
strnatcasecmp - Сравнение строк без учета регистра с использованием алгоритма
strnatcmp - Сравнение строк с использованием алгоритма "естественного упорядочения"
strncasecmp - Сравнение первых n символов строк без учета регистра, безопасное для данных в двоичной форме
strncmp - Сравнение первых n символов строк без учета регистра, безопасное для данных в двоичной форме
strpos - Находит первое вхождение подстроки в строку
strrchr - Находит последнее вхождение символа в строку
strrev - Переворачивает строку
strripos - Возвращает позицию последнего вхождения подстроки без учета регистра
strrpos - Находит последнее вхождение символа в строку
strspn - Возвращает длину участка в начале строки, соответствующего маске
strstr - Находит первое вхождение подстроки
strtok - Разбивает строку
strtolower - Преобразует строку в нижний регистр
strtoupper - Преобразует строку в верхний регистр
strtr - Преобразует заданные символы
str_ireplace - Регистро-независимый вариант функции str_replace().
str_pad - Дополняет строку другой строкой до заданной длины
str_repeat - Возвращает повторяющуюся строку
str_replace - Заменяет строку поиска на строку замены
str_rot13 - Выполняет над строкой преобразование ROT13
str_shuffle - Переставляет символы в строке
str_split - Преобразует строку в массив
str_word_count - Возвращает информацию о словах, входящих в строку
substr - Функция возвращает часть строки
substr_count - Подсчитывает число вхождений подстроки в строку
substr_replace - Заменяет часть строки
trim - Удаляет пробелы из начала и конца строки
ucfirst - Преобразует первый символ строки в верхний регистр
ucwords - Преобразует в верхний регистр первый символ каждого слова в строке
vprintf - Выводит отформатированную строку
vsprintf - Возвращает отформатированную строку
wordwrap - Выполняет перенос строки на данное количество символов с использованием символа разрыва строки

Особенности операторов сравнения применительно к строкам.
Code

$one = 1;   // Число один.
$zero = 0;  // Присваиваем число нуль.
if ($one == "") echo 1;    // Очевидно, не равно - не выводит 1.
if ($zero == "") echo 2;   //* Внимание! Вопреки ожиданиям печатает 2!
if ("" == $zero) echo 3;   //* И это тоже не поможет - печатает!..
if ("$zero" == "") echo 4; // Так правильно.
if (strval($zero) == "") echo 5; // Так тоже правильно - не выводит 5.
if ($zero === "") echo 6;  // Лучший способ, но не действует в PHP 3.


chop()

Функция chop( ) возвращает строку после удаления из нее завершающих пропусков и символов новой строки. Синтаксис функции chop( ):

string chop(string строка)

В следующем примере функция chop( ) удаляет лишние символы новой строки:
Code

$header = "Table of Contents\n\n";
$header = chop($header);
// $header = "Table of Contents"


str_pad()

Функция str_pad( ) выравнивает строку до определенной длины заданными символами и возвращает отформатированную строку. Синтаксис функции str_pad( ):

string str_pad (string строка, int длина_дополнения [, string дополнение [, int тип_дополнения]])

Если необязательный параметр дополнение не указан, строка дополняется пробелами. В противном случае строка дополняется заданными символами. По умолчанию строка дополняется справа; тем не менее, вы можете передать в параметре тип_дополнения константу STR_PAD_RIGHT, STR_PAD_LEFT или STR_PAD_BOTH, что приведет к дополнению строки в заданном направлении. Пример демонстрирует дополнение строки функцией str_pad( ) с параметрами по умолчанию:
Code

$food = "salad";
print str_pad ($food, 5): // Выводит строку "salad


В следующем примере используются необязательные параметры функции str_pad( ):

Code

$header = "Table of Contents";
print str_pad ($header, 5, "=+=+=", STR_PAD_BOTH);
// В браузере выводится строка =+=+= Таbе of Contents=+=+="


trim()

Функция trim( ) удаляет псе пропуски с обоих краев строки и возвращает полученную строку. Синтаксис функции trim( ):

string trim (string страна]

К числу удаляемых пропусков относятся и специальные символы \n, \r, \t, \v и \0.
ltrim()

Функция lrim( ) удаляет все пропуски и специальные символы с левого края строки и возвращает полученную строку. Синтаксис функции ltrim( ):

string ltrim (string строка)

Функция удаляет те же специальные символы, что и функция trim( ).
strlen()
Определение длины строки

Длину строки в символах можно определить при помощи функции strlen( ). Синтаксис .функции strlen( ):

int strlen (string строка)

Следующий пример демонстрирует определение длины строки функцией strlen( ):
Code

$string = "hello";
$length = strlen($string);
// $length = 5


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

При обработке больших объемов информации функции регулярных выражений сильно замедляют выполнение программы. Эти функции следует применять лишь при обработке относительно сложных строк, в которых регулярные выражения действительно необходимы. Если же анализ текста выполняется по относительно простым правилам, можно воспользоваться стандартными функциями РНР, которые заметно ускоряют обработку. Все эти функции описаны ниже.
strtok()

Функция strtok( ) разбивает строку на лексемы по разделителям, заданным вторым параметром. Синтаксис функции strtok( ):

string strtok (string строка, string разделители)

У функции strtok( ) есть одна странность: чтобы полностью разделить строку, функцию необходимо последовательно вызвать несколько раз. При очередном вызове функция выделяет из строки следующую лексему. При этом параметр строка задается всего один раз - функция отслеживает текущую позицию в строке до тех пор, пока строка не будет полностью разобрана на лексемы или не будет задан новый параметр строка. Следующий пример демонстрирует разбиение строки по нескольким разделителям:

Code

$info = "WJ Gi1more:wjgilmore@hotmail.com | Columbus, Ohio";
// Ограничители - двоеточие (:), вертикальная черта (|) и запятая (.)
$tokens = ":|,";
$tokenized = strtok($info, $tokens);
// Вывести элементы массива $tokenized
while ($tokenized) :
echo "Element = $tokenized<br>";
// Обратите внимание: при последующих вызовах strtok
// первый аргумент не передается
$tokenized = strtok($tokens);
endwhile;


Результат: Element = WJGilmore Element = wjgilmore@hotmail.com Element = Columbus Element = Ohio
parse_str()

Функция parse_str( ) выделяет в строке пары <переменная-значение> и присваивает значения переменных в текущей области видимости. Синтаксис функции parse_str( ):

void parse_str (string строка)

Функция parse_str( ) особенно удобна при обработке URL, содержащих данные форм HTML или другую расширенную информацию. В следующем примере анализируется информация, переданная через URL. Строка представляет собой стандартный способ передачи данных между страницами либо откомпилированных в гиперссылке, либо введенных в форму HTML:
Code

$url = "fname=wj&lname=gilmore&zip=43210";
parse_str($url);
// После выполнения parse_str( ) доступны следующие переменные:
// $fname = "wj":
// $lname = "gilmore";
// $zip = "43210"


Поскольку эта функция создавалась для работы с URL, она игнорирует символ амперсанд (&).
explode()

Функция explode() делит строку на элементы и возвращает эти элементы в виде массива. Синтаксис функции explode():

array explode (string разделитель, string строка [, int порог])

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

Разделение строки функцией explode( ) продемонстрировано в следующем примере:
Code

$info = "wilson | baseball | indians";
$user = explode("|", $info);
// $user[0] = "wilson";
// $user[1] = "baseball";
// $user[2] = "Indians";


Функция explode( ) практически идентична функции регулярных выражений POSIX split( ), описанной выше. Главное различие заключается в том, что передача регулярных выражений в параметрах допускается только при вызове split( ).
implode()

Если функция explode( ) разделяет строку на элементы массива, то ее двойник - функция implode( ) - объединяет массив в строку. Синтаксис функции implode( ):

string implode (string разделитель, array фрагменты)

Формирование строки из массива продемонстрировано в следующем примере:
Code

$ohio_cities = array ("Columbus", "Youngstown", "Cleveland", "Cincinnati");
$city_string = implode("l", $ohio_cities);
// $city_string = "Columbus | Youngstown | Cleveland | Cincinnati";


У implode( ) имеется псевдоним - функция join( ).
strpos()

Функция strpos( ) находит в строке первый экземпляр заданной подстроки. Синтаксис функции strpos():

int strpos (string строка, string подстрока [, int смещение])

Необязательный параметр offset задает позицию, с которой должен начинаться поиск. Если подстрока не найдена, strpos() возвращает FALSE (0).

В следующем примере определяется позиция первого вхождения даты в файл журнала:
Code

$log = "
206.169.23.11:/www/:2000-08-10
206.169.23.11:/www/logs/:2000-02-04
206.169.23.11:/www/img/:1999-01-31";
// В какой позиции в журнале впервые встречается 1999 год?
$pos = strpos($log, "1999");
// $pos = 95. поскольку первый экземпляр "1999"
// находится в позиции 95 строки, содержащейся в переменной $log


strrpos()

Функция strrpos( ) находит в строке последний экземпляр заданного символа. Синтаксис функции strrpos( ):

int strpos (string строка, char символ)

По возможностям эта функция уступает своему двойнику - функции strpos( ), поскольку она позволяет искать только отдельный символ, а не всю строку. Если во втором параметре strrpos( ) передается строка, при поиске будет использован только ее первый символ.
str_replace()

Функция str_replace( ) ищет в строке все вхождения заданной подстроки и заменяет их новой подстрокой. Синтаксис функции str_replace( ):

string str_replace (string подстрока, string замена, string строка)

Функция substr_replace( ), описанная ниже в этом разделе, позволяет провести заме ну лишь в определенной части строки. Ниже показано, как функция str_replace( ) используется для проведения глобальной замены в строке.

Если подстрока ни разу не встречается в строке, исходная строка не изменяется:
Code

$favorite_food = "My favorite foods are ice cream and chicken wings";
$favorite_food = str_replace("chicken_wings", "pizza", $favohte_food);
// $favorite_food = "My favorite foods are ice cream and pizza"


strstr()

Функция strstr( ) возвращает часть строки, начинающуюся с первого вхождения заданной подстроки. Синтаксис функции strstr( ):

string strstr (string строка, string подстрока)

В следующем примере функция strstr( ) используется для выделения имени домена из URL:

Code

$url = "http://www.apress.com"; $domain - strstr($url, ".");
// $domain = ".apress.com"


substr()

Функция substr( ) возвращает часть строки, начинающуюся с заданной начальной позиции и имеющую заданную длину. Синтаксис функции substr( ):

string substr (string строка, int начало [, int длина])

Если необязательный параметр длина не указан, считается, что подстрока начинается с заданной начальной позиции и продолжается до конца строки. При использовании этой функции необходимо учитывать четыре обстоятельства:
если параметр начало положителен, возвращаемая подстрока начинается с позиции строки с заданным номером;
если параметр начало отрицателен, возвращаемая подстрока начинается с позиции (длина строки - начало);
если параметр длина положителен, в возвращаемую подстроку включаются все символы от позиции начало до позиции начало+длина. Если последняя величина превышает длину строки, возвращаются символы до конца строки;
если параметр длина отрицателен, возвращаемая подстрока заканчивается на заданном расстоянии от конца строки.

Помните о том, что параметр начало определяет смещение от первого символа строки; таким образом, возвращаемая строка в действительности начинается с символа с номером (начало + 1).

Следующий пример демонстрирует выделение части строки функцией substr( ):
Code

$car = "1944 Ford"; Smodel = substr($car, 6);
// Smodel = "Ford"


Пример с положительным параметром длина:
Code

$car = "1944 Ford";
$model = substr($car, 0, 4);
// $model = "1944"


Пример с отрицательным параметром длина:
Code

$car = "1944 Ford";
$model = substr($car, 2, -5);
// $model = "44"


substr_count()
Функция substr_count( ) возвращает количество вхождений подстроки в заданную строку. Синтаксис функции substr_count( ): int substr_count (string строка, string подстрока) В следующем примере функция substr_count( ) подсчитывает количество вхождений подстроки ain:

Quote

$tng_twist = "The rain falls mainly on the plains of Spain";
$count = substr_count($tng_twist, "ain");
// $count = 4


substr_replace()

Функция substr_replace( ) заменяет часть строки, которая начинается с заданной позиции. Если задан необязательный параметр длина, заменяется фрагмент заданной длины; в противном случае производится замена по всей длине заменяющей строки. Синтаксис функции substr_replace( ):

string substr_replace (string строка, string замена, int начало [, int длина])

Параметры начало и длина задаются по определенным правилам:
если параметр начало положителен, замена начинается с заданной позиции;
если параметр начало отрицателен, замена начинается с позиции (длина строки -начало);
если параметр длина положителен, заменяется фрагмент заданной длины;
если параметр длина отрицателен, замена завершается в позиции (длина строки -длина).

Простая замена текста функцией substr_replace( ) продемонстрирована в следующем примере:
Code

$favs = " 's favorite links";
$name = "Alessia";
// Параметры "0, 0" означают, что заменяемый фрагмент начинается
// и завершается в первой позиции строки.
$favs - substr_replace($favs, $name, 0, 0);
print $favs:


Результат:

Alessia's favorite links
 
Форум » Все для вебмастера » JavaScript и языки разметки » Функции работы со строками в PHP (Функции работы со строками в PHP)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016
«Обращение к пользователям»,
Использование материалов разрешено только при указании источника http://www.vk-spam.3dn.ru.
При копировании материалов ссылка на сайт - www.vk-spam.3dn.ru обязательна.
Copyright MyCorp © 2016
.