|
<?php
|
|
|
|
|
|
function urldecode_pathonly($url) { // mPDF 5.5.03
|
|
if (preg_match('/[?]/',$url)) {
|
|
$bits = preg_split('/[?]/',$url,2);
|
|
return (urldecode($bits[0]).'?'.$bits[1]);
|
|
}
|
|
else return urldecode($url);
|
|
}
|
|
|
|
|
|
function _strspn($str1, $str2, $start=null, $length=null) {
|
|
$numargs = func_num_args();
|
|
if ($numargs == 2) {
|
|
return strspn($str1, $str2);
|
|
}
|
|
else if ($numargs == 3) {
|
|
return strspn($str1, $str2, $start);
|
|
}
|
|
else {
|
|
return strspn($str1, $str2, $start, $length);
|
|
}
|
|
}
|
|
|
|
|
|
function _strcspn($str1, $str2, $start=null, $length=null) {
|
|
$numargs = func_num_args();
|
|
if ($numargs == 2) {
|
|
return strcspn($str1, $str2);
|
|
}
|
|
else if ($numargs == 3) {
|
|
return strcspn($str1, $str2, $start);
|
|
}
|
|
else {
|
|
return strcspn($str1, $str2, $start, $length);
|
|
}
|
|
}
|
|
|
|
function _fgets (&$h, $force=false) {
|
|
$startpos = ftell($h);
|
|
$s = fgets($h, 1024);
|
|
if ($force && preg_match("/^([^\r\n]*[\r\n]{1,2})(.)/",trim($s), $ns)) {
|
|
$s = $ns[1];
|
|
fseek($h,$startpos+strlen($s));
|
|
}
|
|
return $s;
|
|
}
|
|
|
|
|
|
// For PHP4 compatability
|
|
if(!function_exists('str_ireplace')) {
|
|
function str_ireplace($search,$replace,$subject) {
|
|
$search = preg_quote($search, "/");
|
|
return preg_replace("/".$search."/i", $replace, $subject);
|
|
}
|
|
}
|
|
if(!function_exists('htmlspecialchars_decode')) {
|
|
function htmlspecialchars_decode ($str) {
|
|
return strtr($str, array_flip(get_html_translation_table(HTML_SPECIALCHARS)));
|
|
}
|
|
}
|
|
|
|
function PreparePreText($text,$ff='//FF//') {
|
|
$text = htmlspecialchars($text);
|
|
if ($ff) { $text = str_replace($ff,'</pre><formfeed /><pre>',$text); }
|
|
return ('<pre>'.$text.'</pre>');
|
|
}
|
|
|
|
if(!function_exists('strcode2utf')){
|
|
function strcode2utf($str,$lo=true) {
|
|
//converts all the &#nnn; and &#xhhh; in a string to Unicode
|
|
if ($lo) { $lo = 1; } else { $lo = 0; }
|
|
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\\1',{$lo})",$str);
|
|
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\\1',{$lo})",$str);
|
|
return $str;
|
|
}
|
|
}
|
|
|
|
if(!function_exists('code2utf')){
|
|
function code2utf($num,$lo=true){
|
|
//Returns the utf string corresponding to the unicode value
|
|
if ($num<128) {
|
|
if ($lo) return chr($num);
|
|
else return '&#'.$num.';';
|
|
}
|
|
if ($num<2048) return chr(($num>>6)+192).chr(($num&63)+128);
|
|
if ($num<65536) return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
|
|
if ($num<2097152) return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128);
|
|
return '?';
|
|
}
|
|
}
|
|
|
|
|
|
if(!function_exists('codeHex2utf')){
|
|
function codeHex2utf($hex,$lo=true){
|
|
$num = hexdec($hex);
|
|
if (($num<128) && !$lo) return '&#x'.$hex.';';
|
|
return code2utf($num,$lo);
|
|
}
|
|
}
|
|
|
|
|
|
?>
|