Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Эмуляция PHP parse_url в Object Pascal

Delphi , Интернет и Сети , URL

Если вам нужно создать генератор карты сайта на Object Pascal и вам нужна функция или библиотека для эмуляции функции PHP parse_url, то вы можете рассмотреть несколько вариантов.

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

Один из вариантов - использовать регулярные выражения для разбора URL. В RFC 2396 перечислен следующий регулярный выражение для разбора URI:

^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?

Где:

  1. $1 = http:
  2. $2 = http
  3. $3 = //www.ics.uci.edu
  4. $4 = www.ics.uci.edu
  5. $5 = /pub/ietf/uri/
  6. $6 = <undefined>
  7. $7 = <undefined>
  8. $8 = #Related
  9. $9 = Related

Для URL http://www.ics.uci.edu/pub/ietf/uri/#Related регулярное выражение будет работать следующим образом:

  • $1 = http:
  • $2 = http
  • $3 = //www.ics.uci.edu
  • $4 = www.ics.uci.edu
  • $5 = /pub/ietf/uri/
  • $6 = <undefined>
  • $7 = <undefined>
  • $8 = #Related
  • $9 = Related

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

Использование TIdURI из Indy

Если вы не хотите писать регулярное выражение самостоятельно, вы можете рассмотреть использование класса TIdURI из Indy. TIdURI - это дочерний класс TObject, который encapsulates Universal Resource Identifier, как описано в документе Internet Standards:

  • RFC 1630 - Universal Resource Identifiers in WWW

TIdURI предоставляет методы и свойства для сборки и разборки URI с помощью компонентных частей, образующих URI, включая: Протокол, Хост, Порт, Путь, Документ и Закладка.

Если вы используете wininet.dll, вы также можете использовать их API InternetCrackUrl.

Использование URIParser из Freepascal

Freepascal имеет модуль URIParser с функцией ParseURI. Пример использования можно найти в одном из примеров в Freepascal's source или в старом примере, который проще понять.

Вывод

В зависимости от ваших требований и предпочтений, вы можете выбрать любой из вышеперечисленных вариантов для эмуляции PHP parse_url в Object Pascal. Регулярные выражения - это простой и гибкий подход, TIdURI из Indy - это готовый к использованию класс, а URIParser из Freepascal - это специализированный модуль для разбора URI.

Создано по материалам из источника по ссылке.

Этот текст является описанием различных способов эмуляции функции PHP parse_url в Object Pascal, в том числе с использованием регулярных выражений, класса TIdURI из Indy, и модуля URIParser из Freepascal.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: URL ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-15 23:40:42/0.0033760070800781/0