67788

Создание программы, которая заключает в тэги все слова и словосочетания, в которых встречаются 5 согласных букв подряд

Лабораторная работа

Информатика, кибернетика и программирование

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

Русский

2016-09-07

51 KB

1 чел.

Содержание

[1]
Задание

[2] Теория


Задание

Создать программу, которая заключает в тэги <i/>…</i> все слова и словосочетания, в которых встречаются 5 согласных букв подряд.

Теория

Работа с файлами

Открытие файлов в файловой системе сервера производится при помощи функции fopen:

 int fopen(string filename, string mode [, int use_include_path])

filename - имя файла или абсолютный путь к нему.

mode говорит о том, для каких действий открывается файл и может принимать следующие значения:

  •  r (Открыть файл только для чтения; после открытия указатель файла устанавливается в начало файла);
  •  r+ (Открыть файл для чтения и записи; после открытия указатель файла устанавливается в начало файла);
  •  w (Создать новый пустой файл только для записи; если файл с таким именем уже есть вся информация в нем уничтожается);
  •  w+ (Создать новый пустой файл для чтения записи; если файл с таким именем уже есть вся информация в нем уничтожается);
  •  a (Открыть файл для дозаписи; данные будут записываться в конец файла);
  •  a+ (Открыть файл для дозаписи и чтения данных; данные будут записываться в конец файла);
  •  b (Флаг, указывающий на работу (чтение и запись) с двоичным файлом; указывается только в Windows).

Третий необязательный аргумент use_include_path определяет должны ли искаться файлы в каталоге include_path. (Параметр include_path устанавливается в файле php.ini).

Закрытие файлов осуществляется с помощью функции fclose:

 int fclose (int file)

Прочитать строку из открытого файла можно с помощью функции fread:

 string fread ( int file, int length )

Запись в файлы осуществляется функциями fputs и fwrite, которые абсолютно идентичны:

 int fputs ( int file, string string [, int length ])

 int fwrite ( int file, string string [, int length ])

Регулярные выражения

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

  •  [0-9] -- совпадает с любой десятичной цифрой от 0 до 9;
  •  [a-z] -- совпадает с любым символом нижнего регистра от а до z;
  •  [A-Z] -- совпадает с любым символом верхнего регистра от А до Z;
  •  [a -Z] -- совпадает с любым символом нижнего или верхнего регистра от а до Z.
  •  р+ означает один или несколько символов р, стоящих подряд;
  •  р* означает ноль и более символов р, стоящих подряд;
  •  р? означает ноль или один символ р;
  •  р{2} означает два символа р, стоящих подряд;
  •  р{2,3} означает от двух до трех символов р, стоящих подряд;
  •  р{2,} означает два и более символов р, стоящих подряд.
  •  Конструкция [^a-zA-Z] совпадает с любым символом, не входящим в указаные интервалы (a-z и A-Z).
  •  Служебный символ . (точка) означает «любой символ». Например, выражение р.р совпадает с символом р, за которым следует произвольный символ, после чего опять следует символ р.

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

  •  ^.{2}$ -- любая строка, содержащая ровно два символа;
  •  <b>(.*)</b> -- произвольная последовательность символов, заключенная между <Ь> и </Ь> (вероятно, тегами HTML для вывода жирного текста);
  •  p(hp)* -- символ р, за которым следует ноль и более экземпляров последовательности hp (например, phphphp).
  •   [[:alpha:]] -- алфавитный символ (aA-zZ);
  •  [[:digit:]]-цифра (0-9);
  •  [[:alnum:]] -- алфавитный символ (aA-zZ) или цифра (0-9);
  •  [[:space:]] -- пропуски (символы новой строки, табуляции и т. д.).

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

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

Описания этих функций приведены в следующих разделах.

ereg( )

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

int ereg (string шаблон, string строка [, array совпадения])

ereg_replace( )

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

string ereg_replace (string шаблон, string замена, string строке)

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

eregi( )

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

int eregi (string шаблон, string строка [, array совпадения])

eregi_replace( )

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

string eregi_replace (string шаблон, string замена, string строка)

split( )

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

array split (string шаблон, string строка [, int порог])

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

spliti( )

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

array spliti (string шаблон, string строка [, int порог])

sql_regcase( )

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

string sql_regcase (string строка)

Если алфавитный символ существует в двух вариантах (верхний и нижний регистры), выражение в квадратных скобках будет содержать оба варианта; в противном случае исходный символ повторяется дважды.


 

А также другие работы, которые могут Вас заинтересовать

41830. Создание и форматирование таблиц. Использование логических и математических функций в табличных вычислениях 178.5 KB
  Использование логических функций необходимо, когда для выбора правильного решения нужно проверить выполнение одного или нескольких условий. Наиболее часто используемые функции этой категории
41831. Создание архива данных. Извлечение данных из архива. Атрибуты файла и его объем 27.83 KB
  Атрибуты файла и его объем Цель: изучение принципов архивации файлов функций и режимов работы наиболее распространенных архиваторов приобретение практических навыков работы по созданию архивных файлов и извлечению файлов из архивов. Теоретические сведения к лабораторной работе Архивация упаковка помещение загрузка исходных файлов в архивный файл в сжатом или несжатом виде. Архивация предназначена для создания резервных копий используемых файлов на случай потери или порчи по какимлибо причинам основной копии невнимательность...
41832. Художественные средства. Инструмент rtistic Mediа 217.5 KB
  Примеры рисования инструментом rtistic Medi Художественные средства Инструмент rtistic Medi Художественные средства входит в состав группы инструментов Curve Кривая рис. Инструмент rtistic Medi Художественные средства включает в себя пять отличных друг от друга режимов работы. Инструмент rtistic Medi Художественные средства может работать в следующих режимах: Preset Заготовка заготовка для живописи; Brush Кисть художественная кисть; Spryer Распылитель распылитель; Clligrphic Каллиграфический ...
41833. ИССЛЕДОВАНИЕ ТИПОВОЙ СХЕМЫ УПРАВЛЕНИЯ ЭЛЕКТРОПРИВОДОМ ПОСТОЯННОГО ТОКА ПОДЪЁМНО КРАНОВОГО МЕХАНИЗМА 247 KB
  Изучить принцип действия и исследовать работу одной из типовых схем управления электроприводом подъёмно кранового механизма с ДПТ независимого возбуждения. Ознакомиться с электрооборудованием типового шкафа управления. Исследовать работу схемы управления электроприводом подъёмно кранового механизма.
41834. Решение бухгалтерских задач с помощью пакета Excel 286.36 KB
  Решение бухгалтерских задач с помощью пакета Excel Цель работы Познакомиться с работой пакета Excel как инструмента для решения задач бухгалтерского учета. Научиться правильно задавать имена переменным определять ссылки на ячейки использовать функции при вводе формул работать с массивами данных в Excel. Должна быть установлена программа Microsoft Excel.
41835. ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ И СХЕМЫ 238.57 KB
  Данная работа посвящена изучению простейших комбинационных логических устройств реализующих логические функции сложения умножения и отрицания. В результате функции отображающие информацию принимают в каждый момент времени только значения 0 или 1. Такие функции называют логическими а сигналы входные и выходные переменные двоичными бинарными. Рассматривая входные сигналы х1 х2 хп в качестве аргументов можно соответствующие выходные сигналы представлять в виде функции уi = fх0 х1 х2 хп с помощью...
41836. Изучение и анализ конструкций сцеплений транспортных автомобилей 78.68 KB
  Контрольные вопросы дайте классификацию сцеплений назначение устройство и принцип работы фрикционного однодискового гидравлического и электромагнитного сцеплений конструктивные особенности различных видов сцеплений их преимущества и недостатки применяемые материалы для изготовления элементов и узлов сцеплений какие приводы используются для управления сцеплением опишите их устройство и дайте им характеристику опишите устройство и работу центробежного сцепления какие существуют способы передачи крутящего момента от маховика двигателя к...
41837. Разработка комплекта конструкторской документации на кодовый замок 763 KB
  Наиболее интересными для обывателя являются, правда, другие замки, устанавливающиеся прямо в дверное полотно. Они имеют огромный плюс – им не нужна замочная скважина, а значит, сторонний наблюдатель просто не будет знать о его присутствии
41838. Система питания дизельных двигателей 177.92 KB
  Николаева Лабораторная работа № 9 Система питания дизельного двигателя Сделал студент группы 2151 Гуськов К.Е Система питания дизельных двигателей Общая информация При работе дизельного двигателя в его цилиндры всасывается наружный воздух который сжимается до высокого давления. Система подачи воздуха Главными особенностями конструкции впускного воздушного тракта рассматриваемого в настоящем Руководстве дизельного двигателя являются использование в нем турбокомпрессора приводимого во вращение потоком отработавших газов и отсутствие...