*   >> Чтение Образование Статьи >> tech >> web development

Использование регулярных выражений в Php

<р> Использование регулярных выражений в PHP PHP регулярных выражений - Часть VII Введение Мы видели некоторые из регулярных выражений использования в PHP. Мы знаем, как проверить, если регулярное выражение встречается в строке темы. Мы знаем, как найти положение совпавшей регулярных выражений в строке темы. Обратите внимание, что предметом строка может быть целая страница текста. В этой части серии, мы узнаем две важные особенности под названием "Поиск и замена" и "Раскол" Операция. Прежде чем мы эту часть мы будем говорить о регулярных выражений разделителя.

Начнем с очень небольшой участок называемых переменных в Regex. Переменная в Regex Прежде чем мы рассмотрим на двух функций, давайте знать, что регулярное выражение шаблон может иметь переменные. Следующий код работает: $ переменная = "утра"; $ Var = "утра"; если (preg_match ("/Я $ Var /", "Я одна.")) эхо "Согласованные". "Еще эхо« Не согласованный> Здесь мы имеем переменную, $ Var = "утра" ".

"; Регулярное выражение является /я $ Var /, который /я /"я" в шаблоне заменяется $ Var; и согласование происходит поиск и замена Вы можете искать матча в строке темы и есть суб строки согласованную заменить. Рассмотрим следующий предмет строку: "Я мужчина Вы человек.». К югу строка "человек" происходит в этой теме в двух местах. Вы можете иметь каждое вхождение строки к югу "человек" заменил женщине. Следующий код делает это: $ finalStr = preg_replace ("/человек /", "женщина", ". Я человек Вы человек."); Эхо $ finalStr; ?> У вас есть функция, preg_replace ().

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

Таким образом, вы можете использовать функцию preg_replace в () для поиска строк, суб регулярное выражение и имеют все суб строк найденные заменить некоторым замена югу строки. Замена югу строка является вторым аргументом функции. Если есть много матчей, это возможно для Вас, чтобы заменить некоторые из них, начиная с первого. Для этого, вам нужно четвертый необязательный аргумент. Рассмотрим следующий объект: "Я мужчина Вы человек Этот человек является человеком..." Есть три вхождения слова "человек". Давайте только первые два заменить.

Это следующий код делает это: $ finalStr = preg_replace ("/человек /", "женщина", ". Я человек Вы человек Этот человек является человеком."., 2); Эхо $ finalStr; ?> Четвертый аргумент был добавлен. Мы хотим, чтобы первые два вхождения югу строке «человек» должен быть заменен, поэтому мы поместили 2 в качестве четвертого аргумента. Четвертый аргумент число вхождений в матче, вы хотите заменить. Второе утверждение в коде выше перекликается полученную строку в, я женщина. Ты женщина. Этот человек является человеком. Это четвертый аргумент является необязательным.

Если поставить -1 там означает, что вы хотите, чтобы все вхождения согласованного югу строки должны быть заменены; это поведение по умолчанию в отсутствие -1. Следующий пример иллюстрирует использование -1. $ finalStr = preg_replace ("/человек /", "женщина", "Я мужчина Вы человек Этот человек является человеком...", -1); Эхо $ finalStr; ?> На выходе код: Я женщина. Ты женщина. Этот человек является женщина. До сих пор мы видели функцию preg_match (), функция preg_match_all () и в настоящее время функции preg_replace ().

Подсчет количества Замена Сделано Существует пятый дополнительный аргумент для функции preg_replace (). Эта переменная. Вы выбираете то, что вы хотите имя переменной. Следующий код иллюстрирует это: $ finalStr = preg_replace ("/человек /", "женщина", "Я мужчина Вы человек Этот человек является человеком...", 2, $ счет); Эхо $ finalStr. "эхо $ кол." ?> Посмотрите на аргументы функции очень хорошо. Первый аргумент является регулярное выражение. Во-вторых, строка замены. В-третьих, предметом; она имеет три вхождения слова "человек". Четвертый дает ряд замены мы хотим; это 2.

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

В этом случае четвертый аргумент будет -1 и вам потребуется пятый аргумент. Следующий код иллюстрирует это: $ finalStr = preg_replace ("/человек /", "женщина", "Я мужчина Вы человек Этот человек является человеком...", -1, $ Счет); Эхо $ finalStr. "эхо $ кол." ?> Здесь все матчи будут заменены и $ Количество проведет количество замены, после выполнения функции. Выход выше код, я женщина. Ты женщина. Этот человек является женщина. 3 Три есть число замены сделано. Сплит Операция Существует функция для этого.

Синтаксис для функции: массив preg_split (строка $ регулярное выражение, строка $ вопросу) Функция preg_split сплит () разбивает строку в массив суб строк и возвращает массив. Он использует регулярное выражение в качестве разделителя. Будьте умолчанию регулярное выражение не любой элемент возвращаемого массива. Рассмотрим следующий предмет строку: $ предметом = "один два три"; Если мы знаем регулярное выражение для выявления пробел между словами, то мы можем разделить эту строку в массив, состоящий из слов, "один", "два" и "три". \\ Класс персонажа в космос.

\\ + Будет соответствовать пространство, один или более раз. Регулярное выражение, чтобы отделить эти слова является \\\\ + \\ Будем считать, что пространство может быть создано путем удара пробел больше, чем один раз. Следующий код иллюстрирует использование функции разделения с рисунком выше. $ при условии = "один два три"; $ обр = preg_split ("/\\ + /", $ тема); Эхо $ обр [0]. "эхо $ обр [1]." .? эхо $ обр [2] "> В строке темы слова отделяются пробелами Выход выше код:.

один два три Пролитый функция разделить слова в строке, используя пространство между словами, и положить каждое слово как элемент возвращенного массива можно есть слова в строке через запятую и пробел, а как $ субъекта = "раз, два, три"; Регулярное выражение, чтобы отделить эти слова является:. /\\ + /Следующий код иллюстрирует это: $ предметом = "раз, два, три"; $ обр = preg_split ("/\\ + /", $ тема); Эхо $ обр "[0]. Эхо $ обр [1]. "эхо $ обр [2].

" ?> Результат выше код: один два три Упрощенная синтаксис preg_replace () является: $ StrWithRepl = preg_replace (строка регулярное выражение, строка $ замена, строка $ вопросу); Из объяснений я дал ранее, синтаксис здесь пояснений. Разделители должны всегда использовать //разделители для регулярного выражения? Нет. PHP дает возможность использования разделителей по вашему выбору.

Следующие выражения, каждый производит матч: preg_match ("! Мир", "Hello World") preg_match ("{мира}", "Hello World") preg_match ("" Мир "," Hello World "), то //разделители по умолчанию для матча может быть изменен на произвольных разделителей. В первом примере разделители !!. Во втором выражении разделители {}. В третьем примере разделители ''. Следующий код иллюстрирует третий случай: если (preg_match ("" Мир "," Hello World ")) эхо" Согласованные ". "Еще эхо« Не согласованный ".

"?>

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.