diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/frontend.php | 4 | ||||
-rw-r--r-- | lib/fuckhtml.php | 85 |
2 files changed, 88 insertions, 1 deletions
diff --git a/lib/frontend.php b/lib/frontend.php index 16e5693..7f65354 100644 --- a/lib/frontend.php +++ b/lib/frontend.php @@ -892,6 +892,7 @@ class frontend{ "option" => [ "ddg" => "DuckDuckGo", "yandex" => "Yandex", + "brave" => "Brave"//, //"google" => "Google" ] ]; @@ -903,6 +904,7 @@ class frontend{ "option" => [ "yt" => "YouTube", "ddg" => "DuckDuckGo", + "brave" => "Brave"//, //"google" => "Google" ] ]; @@ -1285,7 +1287,7 @@ class frontend{ return htmlspecialchars($image); } - return "/proxy?i=" . urlencode($image) . "&s=" . $format; + return "/proxy.php?i=" . urlencode($image) . "&s=" . $format; } public function htmlnextpage($gets, $npt, $page){ diff --git a/lib/fuckhtml.php b/lib/fuckhtml.php index 8802511..5c65417 100644 --- a/lib/fuckhtml.php +++ b/lib/fuckhtml.php @@ -356,6 +356,91 @@ class fuckhtml{ return $out; } + + public function parseJsObject(string $json){ + + $bracket = false; + $is_close_bracket = false; + $escape = false; + $json_out = null; + $last_char = null; + + for($i=0; $i<strlen($json); $i++){ + + switch($json[$i]){ + + case "\"": + case "'": + if($escape === true){ + + break; + } + + if($json[$i] == $bracket){ + + $bracket = false; + $is_close_bracket = true; + }else{ + + if($bracket === false){ + + $bracket = $json[$i]; + } + } + break; + + default: + $is_close_bracket = false; + break; + } + + $escape = $json[$i] == "\\" ? true : false; + + if( + $bracket === false && + $is_close_bracket === false + ){ + + // here we know we're not iterating over a quoted string + switch($json[$i]){ + + case "[": + case "{": + // dont execute whats in "default" + $json_out .= $json[$i]; + break; + + case "]": + case "}": + case ",": + case ":": + if(!in_array($last_char, ["[", "{", "}", "]", "\""])){ + + $json_out .= "\""; + } + + $json_out .= $json[$i]; + break; + + default: + if(in_array($last_char, ["{", "[", ",", ":"])){ + + $json_out .= "\""; + } + + $json_out .= $json[$i]; + break; + } + }else{ + + $json_out .= $json[$i]; + } + + $last_char = $json[$i]; + } + + return json_decode($json_out, true); + } } ?> |