Php разбор строки. Функции работы со строками на php. Операции со строками

Вставляет 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
  • 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 - Выполняет перенос строки на данное количество символов с использованием символа разрыва строки
  • Особенности операторов сравнения применительно к строкам.

    $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() удаляет лишние символы новой строки:

    $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() с параметрами по умолчанию:

    $food = "salad"; print str_pad ($food, 5): // Выводит строку "salad В следующем примере используются необязательные параметры функции str_pad(): $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():

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

    Сравнение двух строк

    Сравнение двух строк принадлежит к числу важнейших строковых операций любого языка. Хотя эту задачу можно решить несколькими разными способами, в РНР существуют четыре функции сравнения строк:

    strcmp()

    Функция strcmp() сравнивает две строки с учетом регистра символов. Синтаксис функции strcmp(): int strcmp (string строка1, string строка2)

    После завершения сравнения strcmp() возвращает одно из трех возможных значений:

    • 0, если строка1 и строка2 совпадают;
    • < 0, если строка1 меньше, чем строка2;
    • > 0, если строка2 меньше, чем строка1.

    $sthng1 = "butter"; $string2 = "butter"; if ((strcmp($string1. $string2)) == 0) : print "Strings are equivalent!"; endif; // Команда if возвращает TRUE

    strcasecmp()

    Функция strcasecmp() работает точно так же, как strcmp(), за одним исключением - регистр символов при сравнении не учитывается. Синтаксис функции strcasecmp():

    int strcasecmp (string cтpoкa1, string строка2)

    В следующем фрагменте сравниваются две одинаковые строки:

    $string1 = "butter"; $string2 = "Butter"; if ((strcmp($string1, $string2)) == 0) : print "Strings are equivalent!"; endif; // Команда if возвращает TRUE

    strspn()

    Функция strspn() возвращает длину первого сегмента строки1, содержащего символы, присутствующие в строке2. Синтаксис функции strspn():

    int strspn (string строка1, string строка2)

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

    $password = "12345"; if (strspn($password, "1234567890") != strlen($password)) : print "Password cannot consist solely of numbers!"; endif:

    strcspn()

    Функция strcspn() возвращает длину первого сегмента строки1, содержащего символы, отсутствующие в строке2. Синтаксис функции strcspn():

    int strcspn (string строка1, string строка2)

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

    $password = "12345"; if (strcspn($password, "1234567890") == 0) : print "Password cannot consist solely of numbers!"; endif;

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

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

    strtok()

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

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

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

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

    parse_str()

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

    void parse_str (string строка)

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

    $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() продемонстрировано в следующем примере:

    $info = "wilson | baseball | indians"; $user = explode("|", $info); // $user = "wilson"; // $user = "baseball"; // $user = "Indians";

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

    implode()

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

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

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

    $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).

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

    $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() используется для проведения глобальной замены в строке.

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

    $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:

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

    substr()

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

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

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

    • если параметр начало положителен, возвращаемая подстрока начинается с позиции строки с заданным номером;
    • если параметр начало отрицателен, возвращаемая подстрока начинается с позиции (длина строки - начало);
    • если параметр длина положителен, в возвращаемую подстроку включаются все символы от позиции начало до позиции начало+длина. Если последняя величина превышает длину строки, возвращаются символы до конца строки;
    • если параметр длина отрицателен, возвращаемая подстрока заканчивается на заданном расстоянии от конца строки.

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

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

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

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

    $car = "1944 Ford"; $model = substr($car, 0, 4); // $model = "1944" Пример с отрицательным параметром длина: $car = "1944 Ford"; $model = substr($car, 2, -5); // $model = "44"

    substr_count()

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

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

    Результат:

    Alessia"s favorite links

    Преобразование строк и файлов к формату HTML и наоборот

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

    Преобразование текста в HTML

    Быстрое преобразование простого текста к формату web-браузера - весьма распространенная задача. В ее решении вам помогут функции, описанные в этом разделе.

    nl2br()

    Функция nl2br() заменяет все символы новой строки (\n) эквивалентными конструкциями HTML.

    Синтаксис функции nl2br():

    string nl2br (string строка)

    Символы новой строки могут быть как видимыми (то есть явно включенными в строку), так и невидимыми (например, введенными в редакторе). В следующем примере текстовая строка преобразуется в формат HTML посредством замены символов \n разрывами строк:

    // Текстовая строка, отображаемая в редакторе. $text_recipe = " Party Sauce recipe: 1 can stewed tomatoes 3 tablespoons fresh lemon juice Stir together, server cold."; // Преобразовать символы новой строки в
    $htinl_recipe = nl2br($text_recipe) При последующем выводе $html_recipe браузеру будет передан следующий текст в формате HTML: Party Sauce recipe:
    1 can stewed tomatoes
    3 tablespoons fresh lemon juice
    Stir together, server cold.

    htmlentities()

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

    string htmlentities (string строка)

    В следующем примере производится необходимая замена символов строки для вывода в браузере:

    $user_input = "The cookbook, entitled Cafe Francaise" costs

    Функция htmlentities() в настоящее время работает только для символов кодировки ISO-8559-1 (ISO-Latin-1). Кроме того, она не преобразует пробелы в, как следовало бы ожидать.

    htmlspecialchars()

    Функция htmlspecialchars() заменяет некоторые символы, имеющие особый смысл в контексте HTML, эквивалентными конструкциями HTML. Синтаксис функции htmlspecialchars():

    string htmlspecialchars (string строка)

    Функция html special chars() в настоящее время преобразует следующие символы: & преобразуется в &; " " преобразуется в "; преобразуется в >.

    В частности, эта функция позволяет предотвратить ввод пользователями разметки HTML в интерактивных web-приложениях (например, в электронных форумах). Ошибки, допущенные в разметке HTML, могут привести к тому, что вся страница будет формироваться неправильно. Впрочем, у этой задачи существует и более эффективное решение - полностью удалить теги из строки функцией strip_tags().

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

    $user_input = "I just can"t get of PHP & those fabulous cooking recipes!"; $conv_input = htmlspecialchars($user_input); // $conv_input = "I just can"t <> of PHP & those fabulous cooking recipes!"

    Если функция htmlspecialchars() используется в сочетании с nl2br(), то последнюю следует вызывать после htmlspecialchars(). В противном случае конструкции
    , сгенерированные при вызове nl2br(), преобразуются в видимые символы.

    get_html_translation_table()

    Функция get_html_translation_table() обеспечивает удобные средства преобразования текста в эквиваленты HTML Синтаксис функции get_htrril_translation_table():

    string get_html_translation_table (int таблица)

    Функция get_html_translation_table() возвращает одну из двух таблиц преобразования (определяется параметром таблица), используемых в работе стандартных функций htmlspecialchars() и htmlentities(). Возвращаемое значение может использоваться в сочетании с другой стандартной функцией, strtr(), для преобразования текста в код HTML.

    Параметр таблица принимает одно из двух значений:

    • HTML_ENTITIES;
    • HTML_SPECIALCHARS.

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

    $string = "La pasta e il piatto piu amato in Italia"; $translate = get_html_translation_table(HTML_ENTITIES); print strtr($string, $translate); // Специальные символы преобразуются в конструкции HTML // и правильно отображаются в браузере.

    Кстати, функция array_flip() позволяет провести преобразование текста в HTML в обратном направлении и восстановить исходный текст. Предположим, что вместо вывода результата strtr() в предыдущем примере мы присвоили его переменной $translated string.

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

    $translate = array_flip($translate); $translated_string - "La pasta é il piatto piú amato in Italia"; $original_string = strtr($translated_string, $translate); // $original_string = "La pasta e il piatto piu amato in Italia";

    strtr()

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

    string strtr (string строка, string источник, string приемник)

    Если строки источник и приемник имеют разную длину, длинная строка усекается до размеров короткой строки.

    Существует альтернативный синтаксис вызова strtr() с двумя параметрами; в этом случае второй параметр содержит ассоциативный массив, ключи которого соответствуют заменяемым подстрокам, а значения - заменяющим подстрокам. В следующем примере теги HTML заменяются XML-подобными конструкциями:

    " => "

    ", "" => "

    "); $string = "

    Today In PHP-Powered News

    "; print strtr($string, $source); // Выводится строка "Today in PHP-Powered News" ?>

    Преобразование HTML в простой текст

    Иногда возникает необходимость преобразовать файл в формате HTML в простой текст. Функции, описанные ниже, помогут вам в решении этой задачи.

    strip_tags()

    Функция strip_tags() удаляет из строки все теги HTML и РНР, оставляя в ней только текст. Синтаксис функции strip_tags():

    string strip_tags (string строка [, string разрешенные_тerи])

    Необязательный параметр разрешенные_теги позволяет указать теги, которые должны пропускаться в процессе удаления.

    Ниже приведен пример удаления из строки всех тегов HTML функцией strip_tags():

    $user_input = "I just love РНР and gourment recipes!"; $stripped_input = strip_tags($user_input); // $stripped_input = "I just love PHP and gourmet recipes!";

    В следующем примере удаляются не все, а лишь некоторые теги:

    $input = "I love to eat!!"; $strip_input = strip_tags ($user_input, ""); // $strip_input = "I love to eat!!";

    Удаление тегов из текста также производится функцией fgetss().

    get_meta_tags()

    Хотя функция get_meta_tags() и не имеет прямого отношения к преобразованию текста, зто весьма полезная функция, о которой следует упомянуть. Синтаксис функции get_meta_tags():

    array get_meta_tags (string имя_файла/URL [, int включение_пути])

    Функция get_meta_tags() предназначена для поиска в файле HTML тегов МЕТА.

    Теги МЕТА содержат информацию о странице, используемую главным образом поисковыми системами. Эти теги находятся внутри пары тегов... . Применение тегов МЕТА продемонстрировано в следующем фрагменте (назовем его example.html, поскольку он будет использоваться в листинге 8.2): PHP Recipes Функция get_meta_tags() ищет в заголовке документа теги, начинающиеся словом МЕТА, и сохраняет имена тегов и их содержимое в ассоциативном массиве. В листинге 8.2 продемонстрировано применение этой функции к файлу example.html. Листинг 8.2. Извлечение тегов МЕТА из файла HTML функцией get_meta_tags()

    $meta_tags = get_meta_tags("example.html"): // Переменная $meta_tags содержит массив со следующей информацией: // $meta_tags["keywords"] = "PHP, code, recipes, web" // $meta_tags["description"] = "Информация о PHP" // $meta_tags["author"] = "KDG";

    Интересная подробность: данные тегов МЕТА можно извлекать не только из файлов, находящихся на сервере, но и из других URL.

    Преобразование строки к верхнему и нижнему регистру

    В РНР существует четыре функции, предназначенных для изменения регистра строки:

    strtolower()

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

    string strtolower(string строка)

    Неалфавитные символы функцией не изменяются. Преобразование строки к нижнему регистру функцией strtolower() продемонстрировано в следующем примере:

    $sentence = "COOKING and PROGRAMMING PHP are my TWO favorite!"; $sentence = strtolower($sentence); // После вызова функции $sentence содержит строку // "cooking and programming php are my two favorite!"

    strtoupper()

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

    string strtoupper (string строка)

    Неалфавитные символы функцией не изменяются. Преобразование строки к верхнему регистру функцией strtoupper() продемонстрировано в следующем примере:

    $sentence = "cooking and programming PHP are my two favorite!"; $sentence = strtoupper($sentence); // После вызова функции $sentence содержит строку // "COOKING AND PROGRAMMING PHP ARE MY TWO FAVORITE!"

    ucfirst()

    Функция ucfirst() преобразует к верхнему регистру первый символ строки - при условии, что он является алфавитным символом. Синтаксис функции ucfirst():

    string ucfirst (string строка)

    Неалфавитные символы функцией не изменяются. Преобразование первого символа строки функцией ucfirst() продемонстрировано в следующем примере:

    &sentence = "cooking and programming PHP are my two favorite!"; $sentence = ucfirst($sentence); // После вызова функции $sentence содержит строку // "Cooking and programming PHP are mу two favorite!"

    ucwords()

    Функция ucwords() преобразует к верхнему регистру первую букву каждого слова в строке. Синтаксис функции ucwords():

    string ucwords (string строка")

    Неалфавитные символы функцией не изменяются. "Слово" определяется как последовательность символов, отделенная от других элементов строки пробелами. В следующем примере продемонстрировано преобразование первых символов слов функцией ucwords():

    $sentence = "cooking and programming PHP are my two favorite!"; $sentence = ucwords($sentence); // После вызова функции $sentence содержит строку // "Cooking And Programming PHP Are My Two Favorite!"

    strrchr()

    strrchr("строка", "о") - Находит последнее вхождение подстроки

    Если подстрока не найдена, возвращает FALSE.

    В отличие от strchr(), если искомая строка состоит более чем из одного символа, используется только первый символ.

    Если второй параметр не является строкой, он приводится к целому и трактуется как код символа.

    // получить последнюю директорию из $PATH $dir = substr(strrchr($PATH, ":"), 1); // получить все после последнего перевода строки $text = "Line 1\nLine 2\nLine 3"; $last = substr(strrchr($text, 10), 1);

    highlight_string()

    highlight_string- выделение синтаксиса строки.

    mixed highlight_string (string str [, bool return])

    Функция highlight_string() выводит версию с расцвеченным синтаксисом строки str, используя цвета, определённые во встроенном выделении синтаксиса PHP.

    Если второй параметр return имеет значение TRUE, то highlight_string() возвратит версию раскрашенного кода как строку, вместо её печати. Если второй параметр не имеет значение TRUE, highlight_string() возвратит TRUE при успехе, FALSE при неудаче.

    Примечание: 1.параметр return стал доступен, начиная с PHP 4.2.0. До этого он работал, как по умолчанию, т.е. FALSE.
    2.Функция Highlight_String() различает PHP код по тегам . show_source() - синоним highlight_file() . Для изменения цвета выделения по умолчанию используйте следующие PHP директивы:

    Highlight.bg #FFFFFF highlight.comment #FF8000 highlight.default #0000BB highlight.html #000000 highlight.keyword #007700 highlight.string #DD0000 в.htaccess: php_flag highlight.bg #FFFFFF в PHP: if(@ini_get("highlight.bg")=="") ...

    addslashes()

    - Экранирует спецсимволы в строке

    Возвращает сроку, в которой перед каждым спецсимволом добавлен обратный слэш (\), например для последующего использования этой строки в запросе к базе данных.

    Экранируются одиночная кавычка ("), дойная кавычка ("), обратный слэш (\) и NUL (байт NULL).

    $str = "Is your name O"reilly?"; // выводит: Is your name O\"reilly? echo addslashes($str);

    stripslashes

    - Удаляет экранирование символов, произведенное функцией addslashes() Удаляет экранирующие бэкслэши. (\" преобразуется в ", и т.д.). Двойные бэкслэши (\\) преобразуется в одиночные(\).

    wordwrap()

    Выполняет перенос строки на данное количество символов с использованием символа разрыва строки // Использование wordwrap(). function cite($ourText, $maxlen=60, $prefix="> ") { $st = wordwrap($ourText, $maxlen-strlen($prefix), "\n"); $st = $prefix.str_replace("\n", "\n$prefix", $st); return $st; } echo cite("The first Matrix I designed was quite naturally perfect, it was a work of art - flawless, sublime. A triumph equalled only by its monumental failure. The inevitability of its doom is apparent to me now as a consequence of the imperfection inherent in every human being. Thus, I redesigned it based on your history to more accurately reflect the varying grotesqueries of your nature. However, I was again frustrated by failure.", 20);

    > The first Matrix I > designed was quite > naturally > perfect, it was a > work of art - > flawless, sublime. > A triumph > equalled only by > its monumental > failure. The > inevitability > of its doom is > apparent to me now > as a consequence > of the > imperfection > inherent in every > human being. Thus, > I > redesigned it > based on your > history to more > accurately reflect > the varying > grotesqueries of > your nature. > However, I was > again > frustrated by > failure.


    Читать дальше: Объектное программирование на PHP
    .

    4.1. Строковые функции PHP

    В PHP существует очень много встроенных функций по работе со строками. Большая часть названий этих функций сведена в табл. 4.1.

    Таблица 4.1

    Имя функции

    Назначение

    Выводит значение переменной или выражения

    Print _ r

    Выводит массив

    Echo

    Выводит значения списка строковых переменных

    Получение символа с указанным кодом

    Получение подстроки

    Str_repeat

    Получение строки из повторяющихся значений

    Дополнение строки другой строкой до заданной длины

    Chunk_split

    Фрагментирование строки (вставляется последовательность разделителей)

    Strtok

    получение строки по частям

    Разделение строки в массив (на части по указанному разделителю)

    Или join

    Объединение элементов массива в строку с добавлением заданного разделителя

    Длина строки

    Симметричное шифрование

    Сравнение 2 строк c учетом регистра

    Strcasecmp

    Сравнение строк без учета регистра

    Синоним strstr

    Поиск первого вхождения символа в строку

    Определение первой позиции фрагмента в строке

    Определение последней позиции фрагмента в строке

    Удаление начальных пробелов

    Rtrim или chop

    Удаление конечных пробелов

    Удаление начальных и конечных пробелов

    Реверс строки

    Strtoupper

    Преобразование в верхний регистр

    Strtolower

    Преобразование в нижний регистр

    Замена указанных символов во всей строке

    Str_replace

    Замена фрагментов строки

    Substr_replace

    Замена части строки

    Addslashes

    Добавление обратных экранирующих слэшей перед спец. символами

    Stripslashes

    Удаление обратных слэшей

    Convert_cyr_string

    Конвертация строки из одной кодировки кириллицы в другую

    Parse_url

    Разделение строки url на ее компоненты

    str_pad()

    Выравнивает строку до определенной длины заданными символами и возвращает отформатированную строку

    strlen (string строка)

    Определение длины строки

    Strcspn().

    Возвращает длину первого сегмента строки1, содержащего символы, отсутствующие в строке2

    substr_count()

    Возвращает количество вхождений подстроки в заданную строку

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

    substr_replace()

    Заменяет часть строки, которая начинается с заданной позиции

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

    Параметры начало и длина задаются по определенным правилам:

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

    Заменяет все символы новой строки (\n) эквивалентными конструкциями HTML
    .

    Описание данных функций дано подробно в документации.

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

    4.2. Механизмы поиска по шаблону

    Данные механизмы решают четыре основные задачи:

    • поиск строк, в точности совпадающих с заданным шаблоном;
    • поиск фрагментов строк, совпадающих с заданным шаблоном;
    • замену строк и подстрок по шаблону;
    • поиск строк, с которыми заданный шаблон не совпадает.

    Для решения задач лингвистического анализа текста был предложен механизм регулярных выражений. Регулярные выражения — это не изобретение программистов, а формальный язык математики, который в настоящий момент эффективно применяется в различных языках и средах программирования. В PHP присутствуют 2 группы функций по работе с регулярными выражениями, одна группы ориентирована на язык Perl, в котором эти механизмы впервые нашли эффективную поддержку, а вторая — это группа функций, ориентированная на стандарт открытых систем POSIX. Демократичность языка PHP предполагает, что разработчики могут использовать тот комплект функций, который им кажется более удобным.

    Регулярные выражения лежат в основе всех современных технологий поиска по шаблону. Регулярное выражение представляет собой последовательность простых и служебных символов, описывающих искомый текст и принципы его преобразования.

    4.3. Синтаксис регулярных выражений (POSIX)

    Структура регулярных выражений POSIX чем-то напоминает структуру типичных математических выражений — различные элементы (операторы) объединяются друг с другом и образуют более сложные выражения. Однако именно смысл объединения элементов делает регулярные выражения таким мощным и выразительным средством. Возможности не ограничиваются поиском литерального текста (например, конкретного слова или числа); вы можете провести поиск строк с разной семантикой, но похожим синтаксисом — например, всех тегов HTML в файле.

    Оператор | (вертикальная черта) проверяет совпадение одной из нескольких альтернатив.

    Квадратные скобки () имеют особый смысл в контексте регулярных выражений — они означают «любой символ из перечисленных в скобках».

    • [ 0-9] — совпадает с любой десятичной цифрой от 0 до 9;
    • — совпадает с любым символом нижнего регистра от а до z;
    • — совпадает с любым символом верхнего регистра от А до Z;
    • — совпадает с любым символом нижнего или верхнего регистра от а до Z.

    4.3.1. Квантификаторы

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

    • р+ означает один или несколько символов р, стоящих подряд;
    • р* означает ноль и более символов р, стоящих подряд;
    • р? означает ноль или один символ р;
    • р{2} означает два символа р, стоящих подряд;
    • р{2,3} означает от двух до трех символов р, стоящих подряд;
    • р{2,} означает два и более символов р, стоящих подряд.

    4.3.2. Прочие служебные символы

    Служебные символы $ и ^ совпадают не с символами, а с определенными позициями в строке. Например, выражение р$ означает строку, которая завершается символом р, а выражение ^р — строку, начинающуюся с символа р.

    Конструкция [^a-zA-Z] совпадает с любым символом, не входящим в указанные интервалы (a-z и A-Z).

    Служебный символ. (точка) означает «любой символ». Например, выражение р.р совпадает с символом р, за которым следует произвольный символ, после чего опять следует символ р.

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

    Рассмотрим несколько примеров:

    • ^.{2}$ — любая строка, содержащая ровно два символа;
    • (.*) — произвольная последовательность символов, заключенная между <Ь> и (вероятно, тегами HTML для вывода жирного текста);
    • p(hp)* — символ р, за которым следует ноль и более экземпляров последовательности hp (например, phphphp).

    Иногда требуется найти служебные символы в строках вместо того, чтобы использовать их в описанном специальном контексте. Для этого служебные символы экранируются обратной косой чертой (\). Например, для поиска денежной суммы в долларах можно воспользоваться выражением \$+, т. е. «знак доллара, за которым следует одна или несколько десятичных цифр». Обратите внимание на обратную косую черту перед $. Возможными совпадениями для этого регулярного выражения являются $42, $560.

    Стандартные интервальные выражения (символьные классы)

    Для удобства программирования в стандарте POSIX были определены некоторые стандартные интервальные выражения, также называемые символьными классами (character classes). Символьный класс определяет один символ из заданного интервала — например, букву алфавита или цифру:

    • [[:alpha:]] — алфавитный символ (aA-zZ);
    • [[:digit:]]-цифра (0-9);
    • [[:alnum:]] — алфавитный символ (aA-zZ) или цифра (0-9);
    • [[:space:]] — пропуски (символы новой строки, табуляции и т. д.).

    4.4. Функции РНР для работы с регулярными выражениями (POSIX-совместимые)

    В настоящее время РНР поддерживает семь функций поиска с использованием регулярных выражений в стиле POSIX:

    • еrеg();
    • еrеg_rерlасе();
    • eregi();
    • eregi_replace();
    • split();
    • spliti();
    • sql_regcase().

    ereg()

    Функция еrеg() ищет в заданной строке совпадение для шаблона. Если совпадение найдено, возвращается TRUE, в противном случае возвращается FALSE. Синтаксис функции ereg():

    Поиск производится с учетом регистра алфавитных символов. Пример использования ereg() для поиска в строках доменов.соm:

    Обратите внимание: из-за присутствия служебного символа $ регулярное выражение совпадает только в том случае, если строка завершается символами.com. Например, оно совпадет в строке "www.apress.com", но не совпадет в строке "www.apress.com/catalog".

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

    ereg_replace()

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

    Функция ereg_replace() работает по тому же принципу, что и ereg(), но ее возможности расширены от простого поиска до поиска с заменой. После выполнения замены функция возвращает модифицированную строку. Если совпадения отсутствуют, строка остается в прежнем состоянии. Функция ereg_replace(), как и еrеg(), учитывает регистр символов. Ниже приведен простой пример, демонстрирующий применение этой функции:

    $copy_date = "Copyright 2005":

    $copy_date = ereg_replace("(+)". "2006", $copy_date);

    print $copy_date: // Выводится строка "Copyright 2006"

    У средств поиска с заменой в языке РНР имеется одна интересная возможность — возможность использования обратных ссылок на части основного выражения, заключенные в круглые скобки. Обратные ссылки похожи на элементы необязательного параметра-массива совпадения функции еrеg() за одним исключением: обратные ссылки записываются в виде \0, \1, \2 и т. д., где \0 соответствует всей строке, \1 — успешному совпадению первого подвыражения и т. д. Выражение может содержать до 9 обратных ссылок. В следующем примере все ссылки на URL в тексте заменяются работающими гиперссылками:

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

    eregi_replace()

    Функция eregi_replасе() работает точно так же, как ereg_replace(), за одним исключением: поиск производится без учета регистра символов. Синтаксис функции ereg_replace():

    split()

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

    Необязательный параметр порог определяет максимальное количество элементов, на которые делится строка слева направо. Если шаблон содержит алфавитные символы, функция spl it() работает с учетом регистра символов. Следующий пример демонстрирует использование функции split() для разбиения канонического IP-адреса на триплеты:

    spliti ()

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

    Разумеется, регистр символов важен лишь в том случае, если шаблон содержит алфавитные символы. Для других символов выполнение spliti() полностью аналогично split().

    sql_regcase()

    Вспомогательная функция sql_regcase() заключает каждый символ входной строки в квадратные скобки и добавляет к нему парный символ. Синтаксис функции sql_regcase():

    4.5. Синтаксис регулярных выражений в стиле Perl

    Perl давно считается одним из самых лучших языков обработки текстов. Синтаксис Perl позволяет осуществлять поиск и замену даже для самых сложных шаблонов. Разработчики РHР сочли, что не стоит заново изобретать уже изобретенное, а лучше сделать знаменитый синтаксис регулярных выражений Perl доступным для пользователей РНР. Так появились функции для работы с регулярными выражениями в стиле Perl.

    Диалект регулярных выражений Perl не так уж сильно отличается от диалекта POSIX. В сущности, синтаксис регулярных выражений Perl является отдаленным потомком реализации POSIX, вследствие чего синтаксис POSIX почти совместим с функциями регулярных выражений стиля Perl. Функции обработки регулярных выражений Perl-совместимые работают в 10-20 раз быстрее. Поэтому при обработке больших и сложных текстов рекомендуют использовать именно их.

    Рассмотрим общие принципы регулярных выражений Perl на простом примере:

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

    Комбинация \d обозначает любую цифру. Конечно, в процессе поиска часто возникает задача идентификации алфавитно-цифровых символов, поэтому в Perl для них был определен метасимвол \w:

    /<([\w]+)>/

    Этот шаблон совпадает с конструкциями, заключенными в угловые скобки, — например, тегами HTML. Кстати, метасимвол \W имеет прямо противоположный смысл и используется для идентификации символов, не являющихся алфавитно-цифровыми.

    Еще один полезный метасимвол, \b, совпадает с границами слов:

    / sql \b/ — это последовательность строк, начинающаяся с sql.

    Поскольку метасимвол границы слова расположен справа от текста, этот шаблон совпадет в строках sql 1 и sqlnew или newsql, но не в строке. Противоположный метасимвол, \В, совпадает с чем угодно, кроме границы слова:

    / sql \B/ — символы sql должны находиться только не на границе слов.

    Шаблон совпадает в таких строках, как PLsql _1 и PLSQL _ Oracle, но не совпадает в строке PLSQL.

    Модификаторы

    Модификаторы заметно упрощают работу с регулярными выражениями. Впрочем, модификаторов много, и в табл. 4.2 приведены лишь наиболее интересные из них. Модификаторы перечисляются сразу же после регулярного выражения — например, /string/i.

    Таблица 4.2. Примеры модификаторов

    4.6. Функции РНР для работы с регулярными выражениями (Perl-совместимые)

    В РНР существует пять функций поиска по шаблону с использованием Perl-совместимых регулярных выражений:

    • preg_match();
    • preg_match_all();
    • preg_replace();
    • preg_split();
    • preg_grep().

    preg_match()

    Функция preg_ m atch() ищет в заданной строке совпадение для шаблона. Если совпадение найдено, возвращается TRUE, в противном случае возвращается FALSE. Синтаксис функции:

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

    preg_match_all()

    Функция preg_match_all() находит все совпадения шаблона в заданной строке.

    Синтаксис функции preg_match_all():

    Порядок сохранения в массиве совпадения текста, совпавшего с подвыражениями, определяется необязательным параметром порядок. Этот параметр может принимать два значения:

    • PREG_PATTERN_ORDER — используется по умолчанию, если параметр порядок не указан. Порядок, определяемый значением PREG_PATTERN_ORDER, на первый взгляд выглядит не совсем логично: первый элемент (с индексом 0) содержит массив совпадений для всего регулярного выражения, второй элемент (с индексом 1) содержит массив всех совпадений для первого подвыражения в круглых скобках и т. д.;
    • PREG_SET_ORDER — порядок сортировки массива несколько отличается от принятого по умолчанию. Первый элемент (с индексом 0) содержит массив с текстом, совпавшим со всеми подвыражениями в круглых скобках для первого найденного совпадения. Второй элемент (с индексом 1) содержит аналогичный массив для второго найденного совпадения и т. д.

    Следующий пример показывает, как при помощи функции preg_match_al() найти весь текст, заключенный между тегами HTML ...:

    Функция preg_repl ace() работает точно так же, как и ereg_replасе(), за одним исключением того, что регулярные выражения могут использоваться в обоих параметрах: в шаблоне и в замене. Синтаксис функции preg_replace():

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

    preg_split()

    Функция preg_spl it() аналогична split() за одним исключением — параметр шаблон может содержать регулярное выражение. Синтаксис функции preg_split():

    Необязательный параметр порог определяет максимальное количество элементов, на которые делится строка. В следующем примере функция preg_split() используется для выборки информации из переменной.

    preg _ grep ()

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

    Пример использования функции preg_grep() для поиска в массиве слов, начинающихся на п, за которым следует один или несколько символов:

    Презентации

    Название презентации Аннотация

    Задача

    Задача. Дана строка "minsk" . Сделайте из нее строку "MINSK" .

    Решение: воспользуемся функцией strtoupper и сразу получим результат:

    Задача

    Задача. Дана строка "минск" . Сделайте из нее строку "МИНСК" .

    Решение: функцией strtoupper мы не можем воспользоваться, так как она некорректно работает с русскими буквами. Воспользуемся функцией mb_strtoupper и сразу получим результат:

    Задача

    Задача. Дана строка "MINSK" . Сделайте из нее строку "Minsk" .

    Решение: готовой функции для решения задачи в PHP не существует. Поэтому сначала воспользуемся функцией strtolower (в результате получится "minsk" ), а затем функцией ucfirst :

    Задача

    Задача. В переменной $date лежит дата в формате "31-12-2030" "2030.12.31" .

    Решение: для начала разобьем строку "31-12-2030" в массив с помощью функции explode :

    В полученном массиве в $arr будет лежать 31 (то есть день), в $arr - месяц, а в $arr - год. Сольем элементы этого массива в новую строку:

    Задачи для решения

    Работа с регистром символов

    Дана строка "php" . Сделайте из нее строку "PHP" .

    Дана строка "PHP" . Сделайте из нее строку "php" .

    Дана строка "london" . Сделайте из нее строку "London" .

    Дана строка "London" . Сделайте из нее строку "london" .

    Дана строка "london is the capital of great britain" . Сделайте из нее строку "London Is The Capital Of Great Britain" .

    Дана строка "LONDON" . Сделайте из нее строку "London" .

    Работа с strlen

    Дана строка "html css php" . Найдите количество символов в этой строке.

    Дана переменная $password , в которой хранится пароль пользователя. Если количество символов пароля больше 5-ти и меньше 10-ти, то выведите пользователю сообщение о том, что пароль подходит, иначе сообщение о том, что нужно придумать другой пароль.

    Работа с substr

    Дана строка "html css php" . Вырежьте из нее и выведите на экран слово "html", слово "css" и слово "php".

    Дана строка. Вырежите и выведите на экран последние 3 символа этой строки.

    "http://"

    Дана строка. Проверьте, что она начинается на "http://" или на "https://" . Если это так, выведите "да", если не так - "нет".

    ".png" . Если это так, выведите "да", если не так - "нет".

    Дана строка. Проверьте, что она заканчивается на ".png" или на ".jpg" . Если это так, выведите "да", если не так - "нет".

    Дана строка. Если в этой строке более 5-ти символов - вырежите из нее первые 5 символов, добавьте троеточие в конец и выведите на экран. Если же в этой строке 5 и менее символов - просто выведите эту строку на экран.

    Работа с str_replace

    Дана строка "31.12.2013" . Замените все точки на дефисы.

    Дана строка $str . Замените в ней все буквы "a" на цифру 1, буквы "b" - на 2, а буквы "c" - на 3.

    Дана строка с буквами и цифрами, например, "1a2b3c4b5d6e7f8g9h0 ". Удалите из нее все цифры. То есть в нашем случае должна получится строка "abcbdefgh ".

    Работа с strtr

    Дана строка $str . Замените в ней все буквы "a" на цифру 1, буквы "b" - на 2, а буквы "c" - на 3. Решите задачу двумя способами работы с функцией strtr (массив замен и две строки замен).

    Работа с substr_replace

    Дана строка $str . Вырежите из нее подстроку с 3-го символа (отсчет с нуля), 5 штук и вместо нее вставьте "!!!".

    Работа с strpos, strrpos

    Дана строка "abc abc abc". Определите позицию первой буквы "b".

    Дана строка "abc abc abc". Определите позицию последней буквы "b".

    Дана строка "abc abc abc". Определите позицию первой найденной буквы "b", если начать поиск не с начала строки, а с позиции 3.

    Дана строка "aaa aaa aaa aaa aaa". Определите позицию второго пробела.

    Проверьте, что в строке есть две точки подряд. Если это так - выведите "есть", если не так - "нет".

    Проверьте, что строка начинается на "http://" . Если это так - выведите "да", если не так - "нет".

    Работа с explode, implode

    Дана строка "html css php" . С помощью функции explode запишите каждое слово этой строки в отдельный элемент массива.

    Дан массив с элементами "html", "css", "php" . С помощью функции implode создайте строку из этих элементов, разделенных запятыми.

    В переменной $date лежит дата в формате "2013-12-31" . Преобразуйте эту дату в формат "31.12.2013" .

    Работа с str_split

    Дана строка "1234567890" . Разбейте ее на массив с элементами "12", "34", "56", "78", "90" .

    Дана строка "1234567890" . Разбейте ее на массив с элементами "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" .

    Дана строка "1234567890" . Сделайте из нее строку "12-34-56-78-90" не используя цикл.

    Работа с trim, ltrim, rtrim

    Дана строка. Очистите ее от концевых пробелов.

    Дана строка "/php/" . Сделайте из нее строку "php" , удалив концевые слеши.

    Дана строка "слова слова слова." . В конце этой строки может быть точка, а может и не быть. Сделайте так, чтобы в конце этой строки гарантировано стояла точка. То есть: если этой точки нет - ее надо добавить, а если есть - ничего не делать. Задачу решите через rtrim без всяких ифов.

    Работа с strrev

    Дана строка "12345" . Сделайте из нее строку "54321" .

    Проверьте, является ли слово палиндромом (одинаково читается во всех направлениях, примеры таких слов: madam, otto, kayak, nun, level ).

    Работа с str_shuffle

    Дана строка. Перемешайте символы этой строки в случайном порядке.

    Создайте строку из 6-ти случайных маленьких латинских букв так, чтобы буквы не повторялись. Нужно сделать так, чтобы в нашей строке могла быть любая латинская буква, а не ограниченный набор.

    Работа с number_format

    Дана строка "12345678" . Сделайте из нее строку "12 345 678" .

    Работа с str_repeat

    Работа с strip_tags и htmlspecialchars

    Дана строка "html, php, js" . Удалите теги из этой строки.

    Дана строка $str . Удалите все теги из этой строки, кроме тегов и .

    Дана строка "html, php, js" . Выведите ее на экран "как есть" : то есть браузер не должен преобразовать в жирный.

    Работа с chr и ord

    Узнайте код символов "a", "b", "c", пробела .

    Выведите на экран символ с кодом 33 .

    Запишите в переменную $str случайный символ - большую букву латинского алфавита. Подсказка: с помощью таблицы ASCII определите какие целые числа соответствуют большим буквам латинского алфавита.

    Запишите в переменную $str случайную строку $len длиной, состоящую из маленьких букв латинского алфавита. Подсказка: воспользуйтесь циклом for или while.

    Дана буква английского алфавита. Узнайте, она маленькая или большая.

    Работа с strchr, strrchr

    Дана строка "ab-cd-ef" . С помощью функции strchr выведите на экран строку "-cd-ef" .

    Дана строка "ab-cd-ef" . С помощью функции strrchr выведите на экран строку "-ef" .

    Работа с strstr

    Дана строка "ab--cd--ef" . С помощью функции strstr выведите на экран строку "--cd--ef" .

    Задачи

    Преобразуйте строку "var_test_text" в "varTestText" . Скрипт, конечно же, должен работать с любыми аналогичными строками.

    Дан массив с числами. Выведите на экран все числа, в которых есть цифра 3.

    Программистам очень часто приходится иметь дело с различными функциями работы со строками в php. В разных справочниках представлены все функции, но я хотел бы ограничиться только основными из них.

    PHP функция substr - получить часть строки

    Когда из строки вам необходимо выделить отрывок заданной длины начиная с заданной позиции, на помощь приходит функция substr. В этой функции через запятую передаются: текст, стартовая позиция и количество символов. Последний параметр не обязателен, и в случае его отсутствия результатом работы функции будет отрывок исходного текста от стартовой позиции до конца строки.

    PHP функция strlen - узнать длину строки

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

    PHP функция trim - убрать лишние пробелы по краям строки

    Функция trim удаляет по краям строки любые пробельные символы, в том числе и символ перевода строки. Так же существуют функции rtrim и ltrim, которые удаляют пробелы вконце иили вначале строки.

    PHP функция strpos - осуществляет поиск в строке

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

    PHP функция strip_tags - удаляет тэги HTML и PHP из строки

    Функция strip_tags возвращает строку, очищенную от тегов html и php. Она вам пригодится, когда вы будете писать модуль комментариев на свой сайт, что бы не оставить злоумышленикам возможности взломать ваш сайт через форму. html
    и php должны быть удалены"; echo strip_tags($text); echo strip_tags($text,"");//не удалять теги em ?> Первым аргуменом функции идет исходны текст, а вторым теги, которые не нжно удалять.

    PHP функция strtolower - переводит строку в нижний регистр

    PHP функция strtoupper - переводит строку в верхний регистр

     Если этот сайт оказался вам полезен, вы можете помочь в его развитии, поставив

    В продолжение темы:
    Роутеры

    Сохранение для игры Grand Theft Auto 5 PC - Сейв обновлен 06.05.2015 - Игра пройдена на 90% - Полностью пройдена сюжетная линия (69 из 69 заданий) - После последнего...