oe / housenum-be-r-parser
Splitter and Merger for Belgian housenumbers
Installs: 7 720
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 9
Forks: 0
Open Issues: 0
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.1.*
- satooshi/php-coveralls: 0.6.*
This package is not auto-updated.
Last update: 2024-12-17 03:09:38 UTC
README
A small library for merging and splitting sequences of Belgian housenumbers.
Description
Splits ranges of Belgian house numbers into individual ones and vice versa.
Installation
The HousenumBErParser can be installed through composer:
//composer.json { "require": { "oe/housenum-be-r-parser": "dev-master" } }
Usage
Splitting a range of housenumbers:
<?php use OE\HousenumBErParser\Facade; $facade = new Facade(); echo "Splitting 15-21\n"; $split = $facade->split('15-21'); foreach($split as $hnr) { echo $hnr . "\n"; }
Merging housenumbers:
<?php use OE\HousenumBErParser\Facade; $facade = new Facade(); echo "Merging 17/1, 15, 20 bus C, 20 bus B, 17/3, 17/2, 20 bus A\n"; $merge = $facade->merge('17/1, 15, 20 bus C, 20 bus B, 17/3, 17/2, 20 bus A'); echo $facade->numbersToString($merge) . "\n";
The Facade can handle errors in three different ways. It can ignores errors (the default way of handling errors). In this case invalid input will be left as it is as much as possible. So, when trying to split the string 25, something, the resulting output will be 25, something.
The second option is to remove invalid input. This can be set by passing Reader::ERR_REMOVE_INVALID_INPUT to the Facade constructor. In this case, invalid input will be stripped as much as possible. So, when trying to split the string 25, something, the resulting output will be 25.
The third and final option is to throw Exceptions. This can be set by passing Reader::ERR_EXCEPTIONS to the Facade constructor. In this case, invalid input will trigger an Exception. So, when trying to split the string 25, something, an exception will be thrown.
Other languages
There is a similar library that does the same, but written in python.