<?php
/**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
return !empty($hexCode) ? @preg_match("/^[a-f0-9]{2,}$/i", $hexCode) && !(strlen($hexCode) & 1) : false;
}
- /**
- * This is our primary input filter.
- *
- * Use this on any text input where angle chars are not valid or permitted
- * They will be replaced with safer brackets. This may be filtered further
- * if these are not allowed either.
- *
- * @param string $string Input string
- * @return string Filtered string
- */
- public static function escapeTags($string)
- {
- return str_replace(["<", ">"], ['[', ']'], $string);
- }
-
/**
* Use this on "body" or "content" input where angle chars shouldn't be removed,
* and allow them to be safely displayed.
public static function base64UrlDecode($s)
{
if (is_array($s)) {
- Logger::log('base64url_decode: illegal input: ' . print_r(debug_backtrace(), true));
+ Logger::notice('base64url_decode: illegal input: ', ['backtrace' => debug_backtrace()]);
return $s;
}
/**
* Check if the first string starts with the second
*
+ * @see http://maettig.com/code/php/php-performance-benchmarks.php#startswith
* @param string $string
* @param string $start
* @return bool
return $return;
}
+ /**
+ * Checks if the first string ends with the second
+ *
+ * @see http://maettig.com/code/php/php-performance-benchmarks.php#endswith
+ * @param string $string
+ * @param string $end
+ * @return bool
+ */
+ public static function endsWith(string $string, string $end)
+ {
+ $return = substr_compare($string, $end, -strlen($end)) === 0;
+
+ return $return;
+ }
+
/**
* Returns the regular expression string to match URLs in a given text
*