makarms / text-probe
Simple and extensible PHP library for text analysis and pattern matching, designed to help developers probe, parse, and manipulate text efficiently.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 0
Forks: 3
Open Issues: 2
pkg:composer/makarms/text-probe
Requires
- php: >=8.1
- ext-mbstring: *
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- ergebnis/composer-normalize: ^2.48
- friendsofphp/php-cs-fixer: ^3.89
- icanhazstring/composer-unused: ^0.9
- infection/infection: ^0.29
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^2.1
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^10
- squizlabs/php_codesniffer: ^3.8
README
TextProbe is a simple and extensible PHP library for text analysis and pattern matching. Designed to help developers probe, parse, and manipulate text efficiently using customizable rules and matchers.
Features
- 🧠Easy-to-use API for text matching and parsing
- 🔧 Extensible architecture — write your own matchers and rules
- 💡 Suitable for parsing logs, user input, or any structured text
Installation
You can install the library via Composer:
composer require makarms/text-probe
Available Probes
TextProbe includes a wide range of built-in probes. Probes are fully extensible and support custom validation via the IProbe and IValidator interfaces.
See the Probe Index for the full categorized list.
Usage
require __DIR__ . '/vendor/autoload.php'; use TextProbe\TextProbe; use TextProbe\Probes\Contact\EmailProbe; $text = "Please contact us at info@example.com for more details."; $probe = new TextProbe(); $probe->addProbe(new EmailProbe()); $results = $probe->analyze($text); foreach ($results as $result) { echo sprintf( "[%s] %s (position %d-%d)\n", $result->getProbeType()->name, $result->getResult(), $result->getStart(), $result->getEnd() ); }
Expected output
[EMAIL] info@example.com (position 21-37)