Last Updated | | Ratings | | Unique User Downloads | | Download Rankings |
2023-06-17 (3 months ago) | | Not yet rated by the users | | Total: 43 | | All time: 10,649 This week: 116 |
|
Description | | Author |
This package can extract values from strings using tag patterns.
It can take a string as a parameter that defines the format to match.
The format string can have tags that define each value's format and the value's name to extract.
The package can check if another string matches the format defined initially, and then it extracts the tagged values into an associative array with values named using the tag names. | |
|
|
Innovation award
Nominee: 5x
Winner: 1x |
|
Details
String Vars
Get vars from a string
Install
composer require mateodioev/string-vars
use Mateodioev\StringVars\{Config, Matcher};
Example:
$matcher = new Matcher(format: "Hello {name}");
// Validate input
var_dump($matcher->isValid('Hello Juan')); // true
var_dump($matcher->isValid('Hello _ Juan')); // false
$vars = $matcher->match('Hello Juan'); // $vars contain an array of parameters
var_dump($vars['name']); // "Juan"
Match with data types
// "w": all string
// "d": all numbers
// "f": all decimals
// "all": all characters
// "": all characters except /
$matcher = new Matcher(format: "Hello {w:name}");
Using custom formats
$conf = new Config();
// This match only decimals numbers
$conf->addFormat('c', '([\d]+\.[\d]+)');
$matcher = new Matcher('The price is {c:price}', $conf);
var_dump($matcher->isValid('The price is 33.03')); // true
var_dump($matcher->isValid('The price is 33')); // false
$vars = $matcher->match('The price is 33.03');
var_dump($vars['price']); // "33.03"
|
Applications that use this package |
|
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.