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 строка)

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


 

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

68096. Квіти в нашому житті 137.5 KB
  Сьогодні на уроці про славні квіти ми поведемо розмову будемо вчитися вживати їх у мовленні удосконалювати наші читацькі та графічні вміння. Перевірка домашнього завдання формування компетентності уміння вчитися Та не можна йти в гості без подарунка.
68097. Головна перспектива України не в Європі і не в Росії, а в самій Україні 129.5 KB
  Мета: Розширити та поглиблювати знання дітей про Україну рідну Батьківщину та країни Європи. Обладнання: Клас прикрашений квітами парти розставлені відповідно для роботи учнів в групах командах на дошці написана тема заходу перед дітьми велика карта Європи на якій добре видно Україну.
68098. КВН для учащихся 6-х классов 67.5 KB
  Цель: Воспитывать любовь предмету. Развивать познавательные интересы. Совершенствовать умение работать в команде. Повторение и закрепление учебного материала. Участники игры: Ведущий (учитель географии). Две команды игроков (учащиеся 6-х классов). Жюри(3-5учеников старших классов).
68099. Урок - КВН в 6 классе 47 KB
  Каждая команда состоит из 5 человек. Задание для капитанов: Какое значение имеют план местности и географическая карта для человека его хозяйственной деятельности Команда Горизонталь Какой пролив имеет больше воды Гудзонов или Мексиканский Ваше мнение. Команда Параллель Три самолета одновременно...
68100. КВК «Розумники і розумниці» 48.5 KB
  Мета заходу: узагальнити і систематизувати знання і навички учнів з трудового навчання; розвивати логічне мислення, пам’ять; виховувати інтерес до різноманітних видів рукоділля та прикладного мистецтва. Оформлення залу: плакати з зображеннями людей різних професій, приказок про працю.
68101. ІСТОРИЧНИЙ КВК СТАРОДАВНІ ЄГИПЕТ ТА МЕЖИРІЧЧЯ 74.5 KB
  Її називали Першою серед найвродливіших і правила вона Єгиптом 22 роки. Його називали великим завойовником який здійснив 17 військових походів і розширив територію Єгипту у 3 рази завоювавши Сирію Палестину і Нубію. Рамзес ІІ Ця жінка з ніжними рисами обличчя з лебединою шиєю великими видовженими очима...
68102. КВК – асорті 46.5 KB
  Команда вибирає капітана і назву виготовляє емблему готує вітання і домашнє завдання. Домашнє завдання командам: а випустите Математичну газету б придумати емблему кабінету математики в підготувати запитання супернику з курсу геометрії алгебри 67 класів. Два художники від кожної команди виконують такі завдання...
68104. Українське читання (Урок – КВК позакласного читання) 34.5 KB
  Поглибити знання учнів про казки. Виховувати любов до казки як твору де перемагає добро і добра сила. Виставка книг казки; збірка Позакласне читання на кожній парті; матеріал для гри хто прислав телеграму; букви для складання назв казок; книжка Українські народні казки...