Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
89a4b4cf3e | ||
|
|
3eb1229590 | ||
|
|
f174e9ec34 | ||
|
|
928369cff7 |
@@ -1 +1 @@
|
|||||||
9.13.0
|
9.13.2
|
||||||
|
|||||||
@@ -16,16 +16,22 @@ class Html
|
|||||||
/**
|
/**
|
||||||
* full wrapper for html entities
|
* full wrapper for html entities
|
||||||
*
|
*
|
||||||
|
* uses default params as: ENT_QUOTES | ENT_HTML5
|
||||||
|
* switches from ENT_HTML401 to ENT_HTML5 as we assume all our pages have <!DOCTYPE html>
|
||||||
|
* removed: ENT_SUBSTITUTE -> wrong characters will be replaced with space
|
||||||
|
* encodes in UTF-8
|
||||||
|
* does not double encode
|
||||||
|
*
|
||||||
* @param mixed $string string to html encode
|
* @param mixed $string string to html encode
|
||||||
|
* @param int $flags [default: ENT_QUOTES | ENT_HTML5]
|
||||||
* @return mixed if string, encoded, else as is (eg null)
|
* @return mixed if string, encoded, else as is (eg null)
|
||||||
*/
|
*/
|
||||||
public static function htmlent(mixed $string): mixed
|
public static function htmlent(mixed $string, int $flags = ENT_QUOTES | ENT_HTML5): mixed
|
||||||
{
|
{
|
||||||
if (is_string($string)) {
|
if (is_string($string)) {
|
||||||
return htmlentities($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
|
return htmlentities($string, $flags, 'UTF-8', false);
|
||||||
} else {
|
|
||||||
return $string;
|
|
||||||
}
|
}
|
||||||
|
return $string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,14 +60,10 @@ class Html
|
|||||||
*/
|
*/
|
||||||
public static function checked(array|string $haystack, string $needle, int $type = 0): ?string
|
public static function checked(array|string $haystack, string $needle, int $type = 0): ?string
|
||||||
{
|
{
|
||||||
if (is_array($haystack)) {
|
if (is_array($haystack) && in_array($needle, $haystack)) {
|
||||||
if (in_array($needle, $haystack)) {
|
return $type ? 'checked' : 'selected';
|
||||||
return $type ? 'checked' : 'selected';
|
} elseif (!is_array($haystack) && $haystack == $needle) {
|
||||||
}
|
return $type ? 'checked' : 'selected';
|
||||||
} else {
|
|
||||||
if ($haystack == $needle) {
|
|
||||||
return $type ? 'checked' : 'selected';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1324,8 +1324,12 @@ class IO
|
|||||||
// /s for matching new line in . list
|
// /s for matching new line in . list
|
||||||
// [disabled, we don't used ^ or $] /m for multi line match
|
// [disabled, we don't used ^ or $] /m for multi line match
|
||||||
// Matches in 1:, must be array_filtered to remove empty, count with array_unique
|
// Matches in 1:, must be array_filtered to remove empty, count with array_unique
|
||||||
|
$query_split = '[(=,?-]|->|->>|#>|#>>|@>|<@|\?\|\?\&|\|\||#-';
|
||||||
preg_match_all(
|
preg_match_all(
|
||||||
'/(?:\'.*?\')?\s*(?:\?\?|<>|[(=,])\s*(?:\d+|(?:\'.*?\')|(\$[1-9]{1}(?:[0-9]{1,})?))/s',
|
'/'
|
||||||
|
. '(?:\'.*?\')?\s*(?:\?\?|<>|' . $query_split . ')\s*'
|
||||||
|
. '(?:\d+|(?:\'.*?\')|(\$[1-9]{1}(?:[0-9]{1,})?))'
|
||||||
|
. '/s',
|
||||||
$query,
|
$query,
|
||||||
$match
|
$match
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user