Пошук рядка в рядку PHP: опис можливостей

122 0 Новини високих технологій

PHP пропонує використовувати різні варіанти пошуку рядків в інших рядках. Є звичайні функції. Є можливість використання регулярних виразів. Розробник може розробити власний варіант пошуку інформації при дотриманні правил синтаксису.

Пошук рядка в рядку PHP: опис можливостей
Пошук рядків не обмежується фактом підтвердження наявності потрібного символу або рядки в потрібному місці. Рядком може виступати об'єкт - це більш ємна інформаційне поняття, ніж просто рядок. Пошук особливо ефективний, коли момент виявлення супроводжується негайним прийняттям рішення, а не вимагає додаткової обробки.


Основні функціональні можливості пошуку

Пошук рядка в рядку PHP - функція strpos(). Її результат - або булевое значення, чи позиція входження шуканого (другий параметр) у рядку (перший параметр) з позиції (третій параметр). Якщо останній параметр не заданий, пошук виконується з нульової позиції рядка.
Пошук рядка в рядку PHP: опис можливостей
В даному прикладі PHP-пошук в рядку показаний на прикладі одиночного символу. Замість символу можна використовувати рядок. PHP не обмежує програміста в розмірах рядків, але розумні межі мають істотне значення. Шукати рядки у рядках можна з урахуванням регістра, з першого або останнього входження і використовувати регулярні вирази. Як і у всіх інших випадках, істотне значення має кодування сторінки, на якій знаходиться скрипт. В деяких випадках доцільно використовувати варіант iconv_strpos(), а не просто strpos(). У переважній більшості випадків пошук підрядка в рядку PHP забезпечить ідеально точно: достатньо тримати кодування сторінки і рядки в одному кодуванні.


Особливості стандартного підходу

Якщо пошук підрядка в рядку PHP не має результату: шуканого немає, і результат буде логічним значенням. Однак якщо шукана рядок починається з нульової позиції, то це слід виділити особливо в операціях порівняння і аналізу результату. Коли результат дорівнює 0 - це ненабагато далі відстоїть від результату false.
Пошук рядка в рядку PHP: опис можливостей
На відміну від javascript, щодо рядків PHP більш консервативний, і для нього донині рядка - це рядки. Робота з ними - це рядкові функції: від простих рівня strpos до складних, використовують регулярні вирази. Шукати потрібно, щоб:
  • прийняти рішення про направлення алгоритму;
  • замінити шукане на інше;
  • перевірити подія;
  • збільшити лічильник статистики та ін.
  • Це звична логіка алгоритму, javascript пішов далі і визнав «рядка» об'єктами. Але одного визнання на практиці мало. Якщо абстрагуватися від поняття «рядок» і розуміти під ним реальний об'єкт, питання "пошук рядка в рядку" PHP дозволить сформулювати в контексті реального методу, наприклад, яблуко може бути стиглим, не тільки коли воно червоне. Класичний пошук слова "червоне" в описі яблука не є гарантія достовірної відповіді про стиглості фрукта. Якщо яблуко представлено не рядком, а об'єктом, то пошук рядка в рядку PHP не виконає як strpos, а як метод реального об'єкта. При цьому немає ніякої гарантії, що в тілі методу буде використовуватися саме функція strpos.

    Стандартні функції в нестандартних рішеннях

    Характерна риса звичної обробки інформації (людиною): позиція, де що знаходиться, має значення, коли саме вона є метою або рішенням. У всіх інших випадках не важливо, де що є, важливо, що воно позначено і є підставою для подальших дій.
    Пошук рядка в рядку PHP: опис можливостей
    Побічно пошук рядка в рядку PHP виконує функції trim, str_replace та інших. Цікавий варіант пошуку доступний при спільному застосуванні explode/implode та маніпулювання масивами. Якщо використовувати всю функціональність PHP, пошук у рядку легко набуває семантику, виходить за рамки звичного синтаксису і стає причиною для набуття реального сенсу. Маніпулювання змістом для людини звичніше, для алгоритму безпечніше, а трансформація рядків об'єкти - це перехід від машинних кодів у світ сучасних мов програмування.