Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ReadMe.md

T-Regx

T-Regx | Regular Expressions library

PHP regular expressions brought up to modern standards.

See documentation at t-regx.com.

last commit commit activity Unit tests Repository size FQN PRs Welcome

PHP Version PHP Version PHP Version PHP Version PHP Version

  1. Installation
  2. API
  3. Documentation
  4. T-Regx fiddle - Try online
  5. Overview
  6. Supported PHP versions
  7. Comparison
  8. License

Installation

Installation for PHP 7.1 and later:

composer require rawr/t-regx

API

You, choose the interface:

  • I choose to keep PHP methods (but protected from errors):

    Scroll to see - preg::match_all(), preg::replace_callback(), preg::split()

  • I choose the modern regex API:

    Scroll to see - pattern()->test(), pattern()->match(), pattern()->replace()

Documentation

Full API documentation is available at t-regx.com. List of changes is available in ChangeLog.md.

Try it online, in your browser!

Open T-Regx fiddle and start playing around.

Why T-Regx stands out?

💡 See documentation at t-regx.com

  • No change in API!

    • You can use T-Regx safe features and exception-based error handling, without changing your API.

      Simply swap preg_match() to preg::match(), and your method is safe! Arguments and return types remain the same.

  • Working with the developer

  • Automatic delimiters for your pattern

    Surrounding slashes or tildes (/pattern/ or ~patttern~) are not compulsory.

  • Converting Warnings to Exceptions

    • Warning or errors during preg:: are converted to exceptions.
    • preg_() can never fail, because it throws PregException on warning/error.
    • In some cases, preg_() methods might fail, return false/null and NOT trigger a warning. Separate exception, SuspectedReturnPregException is then thrown by T-Regx.
  • Written with clean API

    • Descriptive interface
    • SRP methods
    • UTF-8 support out-of-the-box
    • No Reflection used, No (...varargs), No (boolean arguments, true), (No flags, 1), [No [nested, [arrays]]]
  • Protects your from fatal errors

    Certain arguments cause fatal errors with preg_() methods. T-Regx will throw a catchable exception, instead of a Fatal Error.

  • Prepared patterns

    Using user data (for example with preg_quote()) isn't always safe with PCRE, as well as just not being that convenient to use. T-Regx provides Pattern::inject() and Pattern::bind() methods, designed specifically for handling potentially unsafe data.

Supported PHP versions

Continuous integration builds are running for:

  • PHP 7.1 (7.1.0, 7.1.12, 7.1.13, 7.1.27)
  • PHP 7.2 (7.2.0, 7.2.15, 7.2.28)
  • PHP 7.3 (7.3.0, 7.3.6, 7.3.15)
  • PHP 7.4 (7.4.0, 7.4.3)
  • PHP 8.0 (nightly)

What's better

Ugly api

or

Pretty api

Sponsors

Andreas Leathley - developing SquirrelPHP

T-Regx is developed thanks to

JetBrains

License

T-Regx is MIT licensed.

You can’t perform that action at this time.