Changeset 724 for trunk/lib/Utilities.inc.php
- Timestamp:
- May 4, 2020 2:25:31 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Utilities.inc.php
r723 r724 118 118 function getDump($var, $serialize=false) 119 119 { 120 $app =& App::getInstance(); 121 120 122 ob_start(); 121 123 print_r($var); 122 124 $d = ob_get_contents(); 123 125 ob_end_clean(); 124 return $serialize ? preg_replace('/\s+/m u', ' ', $d) : $d;126 return $serialize ? preg_replace('/\s+/m' . $app->getParam('preg_u'), ' ', $d) : $d; 125 127 } 126 128 … … 140 142 function fancyDump($var, $indent='- ', $depth=1) 141 143 { 144 $app =& App::getInstance(); 145 142 146 $indent_str = str_repeat($indent, $depth); 143 147 $output = ''; … … 154 158 $output .= sprintf("%s%s\n", $indent_str, $var); 155 159 } 156 return preg_replace(['/^[ \t]+$/ u', '/\n\n+/u', '/^(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(\S )/mu'], ['', "\n", '$1$1$2$2$3$3$4$4$5$5$6$6$7$7$8$8$9'], $output);160 return preg_replace(['/^[ \t]+$/' . $app->getParam('preg_u'), '/\n\n+/' . $app->getParam('preg_u'), '/^(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(?:\S( ))?(\S )/m' . $app->getParam('preg_u')], ['', "\n", '$1$1$2$2$3$3$4$4$5$5$6$6$7$7$8$8$9'], $output); 157 161 } 158 162 … … 330 334 function highlightWords($text, $search, $class='sc-highlightwords') 331 335 { 336 $app =& App::getInstance(); 337 332 338 $words = preg_split('/[^\w]/', $search, -1, PREG_SPLIT_NO_EMPTY); 333 339 … … 337 343 foreach ($words as $w) { 338 344 if ('' != trim($w)) { 339 $search[] = '/\b(' . preg_quote($w) . ')\b/i u';345 $search[] = '/\b(' . preg_quote($w) . ')\b/i' . $app->getParam('preg_u'); 340 346 $replace[] = '<span class="' . $class . '">$1</span>'; 341 347 } … … 414 420 function encodeEmail($email, $at=' at ', $dot=' dot ') 415 421 { 416 $search = array('/@/u', '/\./u'); 422 $app =& App::getInstance(); 423 424 $search = array('/@/' . $app->getParam('preg_u'), '/\./' . $app->getParam('preg_u')); 417 425 $replace = array($at, $dot); 418 426 return preg_replace($search, $replace, $email); … … 438 446 function truncate($str, $len=50, $where='end', $delim='âŠ') 439 447 { 448 $app =& App::getInstance(); 449 440 450 $dlen = mb_strlen($delim); 441 451 if ($len <= $dlen || mb_strlen($str) <= $dlen) { … … 453 463 switch ($where) { 454 464 case 'start' : 455 return preg_replace(array(sprintf('/^.{%s,}(.{%s})$/s u', $dlen + 1, $part1 + $part2), sprintf('/\s*%s{%s,}\s*/su', preg_quote($delim), $dlen)), array($delim . '$1', $delim), $str);465 return preg_replace(array(sprintf('/^.{%s,}(.{%s})$/s' . $app->getParam('preg_u'), $dlen + 1, $part1 + $part2), sprintf('/\s*%s{%s,}\s*/s' . $app->getParam('preg_u'), preg_quote($delim), $dlen)), array($delim . '$1', $delim), $str); 456 466 457 467 case 'middle' : 458 return preg_replace(array(sprintf('/^(.{%s}).{%s,}(.{%s})$/s u', $part1, $dlen + 1, $part2), sprintf('/\s*%s{%s,}\s*/su', preg_quote($delim), $dlen)), array('$1' . $delim . '$2', $delim), $str);468 return preg_replace(array(sprintf('/^(.{%s}).{%s,}(.{%s})$/s' . $app->getParam('preg_u'), $part1, $dlen + 1, $part2), sprintf('/\s*%s{%s,}\s*/s' . $app->getParam('preg_u'), preg_quote($delim), $dlen)), array('$1' . $delim . '$2', $delim), $str); 459 469 460 470 case 'end' : 461 471 default : 462 return preg_replace(array(sprintf('/^(.{%s}).{%s,}$/s u', $part1 + $part2, $dlen + 1), sprintf('/\s*%s{%s,}\s*/su', preg_quote($delim), $dlen)), array('$1' . $delim, $delim), $str);472 return preg_replace(array(sprintf('/^(.{%s}).{%s,}$/s' . $app->getParam('preg_u'), $part1 + $part2, $dlen + 1), sprintf('/\s*%s{%s,}\s*/s' . $app->getParam('preg_u'), preg_quote($delim), $dlen)), array('$1' . $delim, $delim), $str); 463 473 } 464 474 } … … 620 630 621 631 return preg_replace([ 622 '/&(?=[\w\d#]{1,10};)/ ui',623 '/&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|caron);/ ui',624 '/&(?:ndash|mdash|horbar);/ ui',625 '/&(?:nbsp);/ ui',626 '/&(?:bdquo|ldquo|ldquor|lsquo|lsquor|rdquo|rdquor|rsquo|rsquor|sbquo|lsaquo|rsaquo);/ ui',627 '/&(?:amp);/ ui', // This replacement must come after matching all other entities.628 '/[&;]+/ u',632 '/&(?=[\w\d#]{1,10};)/i' . $app->getParam('preg_u'), 633 '/&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|caron);/i' . $app->getParam('preg_u'), 634 '/&(?:ndash|mdash|horbar);/i' . $app->getParam('preg_u'), 635 '/&(?:nbsp);/i' . $app->getParam('preg_u'), 636 '/&(?:bdquo|ldquo|ldquor|lsquo|lsquor|rdquo|rdquor|rsquo|rsquor|sbquo|lsaquo|rsaquo);/i' . $app->getParam('preg_u'), 637 '/&(?:amp);/i' . $app->getParam('preg_u'), // This replacement must come after matching all other entities. 638 '/[&;]+/' . $app->getParam('preg_u'), 629 639 ], [ 630 640 '&', … … 650 660 function URLSlug($str) 651 661 { 652 return strtolower(urlencode(preg_replace(['/[-\sââ.:;?!@#=+_\/\\\]+|(?: | |–|–|—|—|%c2%a0|%e2%80%93|%e2%80%9)+/u', '/-+/u', '/[^\w-]+/u', '/^-+|-+$/u'], ['-', '-', '', ''], simplifyAccents($str)))); 662 $app =& App::getInstance(); 663 664 return strtolower(urlencode(preg_replace(['/[-\sââ.:;?!@#=+_\/\\\]+|(?: | |–|–|—|—|%c2%a0|%e2%80%93|%e2%80%9)+/' . $app->getParam('preg_u'), '/-+/' . $app->getParam('preg_u'), '/[^\w-]+/' . $app->getParam('preg_u'), '/^-+|-+$/' . $app->getParam('preg_u')], ['-', '-', '', ''], simplifyAccents($str)))); 653 665 } 654 666 … … 664 676 $app =& App::getInstance(); 665 677 666 $file_name = preg_replace(['/[^a-zA-Z0-9()@._=+-]+/ u', '/^_+|_+$/u'], ['_', ''], simplifyAccents($file_name));678 $file_name = preg_replace(['/[^a-zA-Z0-9()@._=+-]+/' . $app->getParam('preg_u'), '/^_+|_+$/' . $app->getParam('preg_u')], ['_', ''], simplifyAccents($file_name)); 667 679 return mb_substr($file_name, 0, 250); 668 680 } … … 1182 1194 function hash64($string, $length=18) 1183 1195 { 1184 return mb_substr(preg_replace('/[^\w]/u', '', base64_encode(hash('sha512', $string, true))), 0, $length); 1196 $app =& App::getInstance(); 1197 1198 return mb_substr(preg_replace('/[^\w]/' . $app->getParam('preg_u'), '', base64_encode(hash('sha512', $string, true))), 0, $length); 1185 1199 } 1186 1200 … … 1212 1226 switch ($app->getParam('signing_method')) { 1213 1227 case 'sha512+base64': 1214 return $val . '-' . mb_substr(preg_replace('/[^\w]/ u', '', base64_encode(hash('sha512', $val . $salt, true))), 0, $length);1228 return $val . '-' . mb_substr(preg_replace('/[^\w]/' . $app->getParam('preg_u'), '', base64_encode(hash('sha512', $val . $salt, true))), 0, $length); 1215 1229 1216 1230 case 'md5': … … 1448 1462 function stripQuery($url) 1449 1463 { 1450 return preg_replace('/[?#].*$/u', '', $url); 1464 $app =& App::getInstance(); 1465 1466 return preg_replace('/[?#].*$/' . $app->getParam('preg_u'), '', $url); 1451 1467 } 1452 1468 … … 1458 1474 function absoluteMe() 1459 1475 { 1460 $safe_http_host = preg_replace('/[^a-z\d.:-]/u', '', getenv('HTTP_HOST')); 1476 $app =& App::getInstance(); 1477 1478 $safe_http_host = preg_replace('/[^a-z\d.:-]/' . $app->getParam('preg_u'), '', getenv('HTTP_HOST')); 1461 1479 return sprintf('%s://%s%s', (getenv('HTTPS') ? 'https' : 'http'), $safe_http_host, getenv('REQUEST_URI')); 1462 1480 }
Note: See TracChangeset
for help on using the changeset viewer.