Passed
Push — master ( 731c7d...9e563a )
by Jean-Christophe
02:11
created

JString::isBooleanFalse()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 1
nc 2
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
namespace Ajax\service;
3
class JString {
4
5
	public static function contains($hay,$needle){
6
		return strpos($hay, $needle) !== false;
7
	}
8
	public static function startswith($hay, $needle) {
9
		return substr($hay, 0, strlen($needle)) === $needle;
10
	}
11
12
	public static function endswith($hay, $needle) {
13
		return substr($hay, -strlen($needle)) === $needle;
14
	}
15
16
	public static function isNull($s){
17
		return (!isset($s) || NULL===$s || ""===$s);
18
	}
19
	public static function isNotNull($s){
20
		return (isset($s) && NULL!==$s && ""!==$s);
21
	}
22
23
	public static function isBoolean($value){
24
		return \is_bool($value) || $value==1 || $value==0;
25
	}
26
27
	public static function isBooleanTrue($value){
28
		return $value==1 || $value;
29
	}
30
31
	public static function isBooleanFalse($value){
32
		return $value==0 || !$value;
33
	}
34
35
	public static function camelCaseToSeparated($input,$separator=" "){
36
		return strtolower(preg_replace('/(?<!^)[A-Z]/', $separator.'$0', $input));
37
	}
38
39
	public static function replaceAtFirst($subject,$from, $to){
40
		$from = '/\A'.preg_quote($from, '/').'/';
41
		return \preg_replace($from, $to, $subject, 1);
42
	}
43
44
	public static function replaceAtLast($subject,$from, $to){
45
		$from = '/'.preg_quote($from, '/').'\z/';
46
		return \preg_replace($from, $to, $subject, 1);
47
	}
48
49
	public static function replaceAtFirstAndLast($subject,$fromFirst,$toFirst,$fromLast,$toLast){
50
		$s=self::replaceAtFirst($subject, $fromFirst, $toFirst);
51
		return self::replaceAtLast($s, $fromLast, $toLast);
52
	}
53
54
	public static function getValueBetween(&$str,$before="{{",$after="}}"){
55
		$matches=[];
56
		$result=null;
57
		$_before=\preg_quote($before);
58
		$_after=\preg_quote($after);
59
		if(\preg_match('/'.$_before.'(.*?)'.$_after.'/s', $str, $matches)===1){
60
			$result=$matches[1];
61
			$str=\str_replace($before.$result.$after,"", $str);
62
		}
63
		return $result;
64
	}
65
	
66
	public static function doubleBackSlashes($value){
67
		if(is_string($value))
68
			return str_replace("\\", "\\\\", $value);
69
			return $value;
70
	}
71
72
	public static function cleanIdentifier($id) {
73
		return preg_replace('/[^a-zA-Z0-9\-]/s', '', $id);
74
	}
75
}
76