2017 © Pedro Peláez
 

library custom-string-explode

Explode string using custom user rules.

image

andydune/custom-string-explode

Explode string using custom user rules.

  • Saturday, July 21, 2018
  • by AndyDune
  • Repository
  • 1 Watchers
  • 0 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

CustomStringExplode

Build Status Software License Packagist Version Total Downloads, (*1)

Explode string using user custom rules., (*2)

Installation

Installation using composer:, (*3)

composer require andydune/custom-string-explode

Or if composer was not installed globally:, (*4)

php composer.phar require andydune/custom-string-explode

Or edit your composer.json:, (*5)

"require" : {
     "andydune/custom-string-explode": "^1"
}

And execute command:, (*6)

php composer.phar update

Instruction

There is any string we want to convert into array. String may be set of numbers with any delimiters, it can be email set and more., (*7)

It is better to see how it works for on specific points., (*8)

Rule: Numbers

use AndyDune\CustomStringExplode\Rule\Numbers;
use AndyDune\CustomStringExplode\StringContainer;

$numbers = new Numbers();
$explode = new StringContainer($numbers);
$results = $explode->explode('123 13-4 00');

// Result is
$result = [123, 13, 4, 00];

Rule: Emails

use AndyDune\CustomStringExplode\Rule\Email;
use AndyDune\CustomStringExplode\StringContainer;

$rule = new Email();
$explode = new StringContainer($rule);

$results = $explode->explode('Андрей Рыжов,  ;
Andrey Ryzhov,
simple@example.com ,
disposable.style.email.with+symbol@example.com
x@example.com
#!$%&\'*+-/=?^_`{}|~@example.org
"()<>[]:,;@\\\"!#$%&\'-/=?^_`{}| ~.a"@example.org
');

// Result is
$result = [
    'simple@example.com', 
    'disposable.style.email.with+symbol@example.com', 
    'x@example.com', 
    '#!$%&'*+-/=?^_`{}|~@example.org'
];

Rule: NumbersAndLatinLetters

I used it for extract hashes from any texts., (*9)

use AndyDune\CustomStringExplode\StringContainer;
use AndyDune\CustomStringExplode\Rule\NumbersAndLatinLetters;

$rule = new NumbersAndLatinLetters();
$explode = new StringContainer($rule);

$results = $explode->explode('adqwdqw123 adasdsa;78
првиетhellow
');

// Result is
$result = [
    'adqwdqw123', 
    'adasdsa', 
    '78', 
    'hellow'
];

Rule: DelimiterWhitespaceCharacter

It helps to explode string with any white space delimiter., (*10)

use AndyDune\CustomStringExplode\Rule\DelimiterWhitespaceCharacter;
use AndyDune\CustomStringExplode\StringContainer;
$rule = new DelimiterWhitespaceCharacter();
$explode = new StringContainer($rule);

$results = $explode->explode('123 13-4 00');

// Result is
$result = [
    '123', 
    '13-4', 
    '00' 
];

Create custom rules

You may build your onw rules for explode strings as you wish. All rules mast implement RuleAbstract interface., (*11)

Lets look at the code:, (*12)

namespace AndyDune\CustomStringExplode\Rule;
use AndyDune\CustomStringExplode\StringContainer;

abstract class RuleAbstract
{
    /**
     * @var StringContainer
     */
    protected $container;

    /**
     * @return StringContainer
     */
    public function getContainer()
    {
        return $this->container;
    }

    /**
     * @param StringContainer $container
     */
    public function setContainer($container)
    {
        $this->container = $container;
    }

    public function format($string)
    {
        return trim($string);
    }

    /**
    * @params string $char current char for check
    * @params string $item previously collected char
    * @params array $array array was colected during previous executions of method
    */
    abstract public function check($char, $item, $array);
}

You need to define method check surely. This method returns boolean value:, (*13)

  • true - current char may be the part of string
  • false - current char is separator

Overload method format for final check every result array item. It make trim by default. Method may returns null or false if item must be deleted from array., (*14)

The Versions

21/07 2018

dev-master

9999999-dev https://github.com/AndyDune/CustomStringExplode

Explode string using custom user rules.

  Sources   Download

MIT

The Requires

 

The Development Requires

php

21/07 2018

v1.1.0

1.1.0.0 https://github.com/AndyDune/CustomStringExplode

Explode string using custom user rules.

  Sources   Download

MIT

The Requires

 

The Development Requires

php

21/07 2018

v1.0.0

1.0.0.0 https://github.com/AndyDune/CustomStringExplode

Explode string using custom user rules.

  Sources   Download

MIT

The Requires

 

The Development Requires

php