2017 © Pedro Peláez
 

library string-replace

Replace markers in string with data.

image

andydune/string-replace

Replace markers in string with data.

  • Thursday, May 17, 2018
  • by AndyDune
  • Repository
  • 2 Watchers
  • 2 Stars
  • 17 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 12 Versions
  • 31 % Grown

The README.md

StringReplace

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

It replace in given string meta data with real data., (*2)

Requirements

PHP version >= 7.2, (*3)

Installation

Installation using composer:, (*4)

composer require andydune/string-replace

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

php composer.phar require andydune/string-replace

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

"require" : {
     "andydune/string-replace": "^1"
}

And execute command:, (*7)

php composer.phar update

SimpleReplace

It's very simple and lightweight replace methods. It uses str_replace function., (*8)

use AndyDune\StringReplace\SimpleReplace;

$instance = new SimpleReplace();
$instance->one = 'one_ok';
$instance->two = 'two_ok';

$string = 'Gogoriki go #one# and #two#';
$instance->replace($string); // equals to 'Gogoriki go one_ok and two_ok' 

There is no any logic in it and it will no replace statements if no data to replace., (*9)

PowerReplace

It powerful replace class with string analytics with regular. There are many functions built-in lib and you may add custom easily., (*10)

No case sensitive

use AndyDune\StringReplace\PowerReplace;

$instance = new PowerReplace();
$instance->one = 'one_ok';
$instance->TWO = 'two_ok'; // upper key

$string = 'Gogoriki go #ONE# and #two#';
$instance->replace($string); // equals to 'Gogoriki go one_ok and two_ok' 

Functions

Functions are described next to marker after : (you can change separator)., (*11)

Functions can get parameters: #CODE:maxlen(10)# or #CODE:maxlen("10")#, (*12)

Symbols: : ( ) , " ' are reserved to use as parameters for function. So if you want to use it you mast encase it with quotes (or single quotes)., (*13)

This is correct usage:, (*14)

$string = "Params: #weight:prefix(\"'\"):postfix('"')#";
$string = "Params: #weight:prefix(\":\"):postfix(':')#";
$string = "Params: #weight:prefix(\"(\"):postfix(')')#";
$string = "Params: #weight:prefix(\", \"):postfix(', ')#";

More then one function : #CODE:maxlen(10):escape#, (*15)

escape

Apply htmlspecialchars with inserted value., (*16)

use AndyDune\StringReplace\PowerReplace;

$string = 'Gogoriki go #ONE:escape#';
$instance = new PowerReplace();
$instance->one = '<b>one_ok</b>';
$instance->replace($string);  // equals to 'Gogoriki go &lt;b&gt;one_ok&lt;/b&gt;'

addcomma

It adds comma before inserted value if it is not empty., (*17)

use AndyDune\StringReplace\PowerReplace;

$string = 'Gogoriki go #one##two:comma#';
$instance = new PowerReplace();
$instance->one = 'swim';
$instance->one = 'play';
$instance->replace($string);  // equals to 'Gogoriki go swim, play'


$string = 'Gogoriki go #one##two:comma#';
$instance = new PowerReplace();
$instance->one = 'swim';
$instance->replace($string);  // equals to 'Gogoriki go swim

comma function may get params: comma(param1, param2), (*18)

  • param1 set to 1 if you want to miss first comma appearance in string
  • param2 set to 1 if you want to begin new group of words for next missing of first comma appearance in string
$string = 'I know words: #it:addcomma(1)##and_it:addcomma(1)# and #and_it_2:addcomma(1, 1)#';
$instance = new PowerReplace();
$instance->setArray([ 
    'it' => 'eat',
    'and_it' = 'play',
    'and_it_2' = 'sleep'
    ]);
$instance->replace($string);  // equals to 'I know words: eat, play and sleep'

maxlen

Replace marker with value if string behind this one is less then poined in parameter., (*19)

use AndyDune\StringReplace\PowerReplace;

$string = 'Gogoriki go #one##two:masxlen(5):addcomma#';
$instance = new PowerReplace();

$instance->one = 'swim';
$instance->one = 'play';
$instance->replace($string);  // equals to 'Gogoriki go swim, play'

$instance->one = 'swim';
$instance->one = 'play games';
$instance->replace($string);  // equals to 'Gogoriki go swim'

printf

Print formatted string if it is not empty., (*20)

$string = 'I know words: #it:printf(«%s»):addcomma(1)##and_it:printf(«%s»):addcomma(1)# and #and_it_2:printf(«%s»):addcomma(1, 1)#';
$instance = new PowerReplace();
$instance->it = 'eat';
$instance->and_it_2 = 'sleep';
$instance->replace($string); // equals to  I know words: «eat» and «sleep»

plural

Pluralize the title for number., (*21)

$string = 'I see #count# #count:plural(man, men)#';
$instance = new PowerReplace();
$instance->count = 1;
$instance->replace($string); // I see 1 man
$instance->count = 21;
$instance->replace($string); // I see 21 men

pluralrus

Russian pluralize the title for number., (*22)

$string = 'У меня есть #count# #count:pluralrus(яблоко, яблока, яблок)#';
$instance = new PowerReplace();

$instance->count = 1;
$instance->replace($string)); // У меня есть 1 яблоко

$instance->count = 21;
$instance->replace($string); // У меня есть 21 яблоко

$instance->count = 2;
$instance->replace($string); // У меня есть 2 яблока

$instance->count = 5;
$instance->replace($string); // У меня есть 5 яблок

prefix

It shows given string as prefix only if value behind the key is not empty., (*23)

$string = 'Vegetables I have: #apple_count:prefix("apples "):addcomma(1)##orange_count:prefix("oranges "):addcomma(1)#';
$instance = new PowerReplace();
$instance->apple_count = 1;
$instance->replace($string); // Vegetables I have: apples 1

postfix

It shows given string as postfix only if value behind the key is not empty., (*24)

$string = 'Params: #weight:prefix("weight: "):postfix(kg)##growth:prefix("growth: "):postfix(sm):addcomma#';
$instance = new PowerReplace();
$instance->weight = 80;
$instance->growth = 180;
$instance->replace($string); // Params: weight: 80kg, growth: 180sm

showIfEqual

It shows string given in second param if first param is equal to value behind the placeholder., (*25)

$string = 'Anton #weight:showIfEqual(80, "has normal weight")##weight:showIfEqual(180, "has obesity")#.';
$instance = new PowerReplace();
$instance->weight = 80;
$instance->replace($string); // Anton has normal weight.

$string = 'Anton #weight:showIfEqual(80, "has normal weight")##weight:showIfEqual(180, "has obesity")#.';
$instance = new PowerReplace();
$instance->weight = 180;
$instance->replace($string); // Anton has obesity.

showIfOtherValueNotEmpty

It shows string value behind the current placeholder if another is not empty., (*26)

$string = 'Variants #type[name]:showIfOtherNotEmpty(type[value])##type[value]:prefix(": ")#';
$instance = new PowerReplace();
$instance->setArray(['type'=> ['name' => 'color', 'value' => 'green']]);
$instance->replace($string); // Variants color: green

Custom Functions

You can add your own functions with replace rules. Markers and functions are not case sensitive., (*27)


$string = 'Where is #word:leftAndRight(_)#?'; // or the same $string = 'Where is #WORD:LEFTANDRIGHT(_)#?'; $functionHolder = new FunctionsHolder(); // add custom function with name leftAndRight $functionHolder->addFunction('leftAndRight', function ($string, $symbol = '') { return $symbol . $string . $symbol; }); $instance = new PowerReplace($functionHolder); $instance->word = 'center'; $instance->replace($string); // Where is _center_?

Application

The Versions

17/05 2018

dev-master

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

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

15/05 2018

v1.6.0

1.6.0.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

11/05 2018

v1.5.3

1.5.3.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

08/05 2018

v1.5.2

1.5.2.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

07/05 2018

v1.5.1

1.5.1.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

07/05 2018

v1.5.0

1.5.0.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

04/05 2018

v1.4.0

1.4.0.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

03/05 2018

v1.3.0

1.3.0.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

03/05 2018

v1.2.1

1.2.1.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

02/05 2018

v1.2.0

1.2.0.0 https://github.com/AndyDune/StringReplace

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-mbstring *

 

The Development Requires

php array

29/04 2018

v1.1.0

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

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

php array

27/04 2018

v1.0.0

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

Replace markers in string with data.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

php array