From 0ba0e2de4ee35fb3449dd7946cdb15727962f861 Mon Sep 17 00:00:00 2001 From: dotter-ak Date: Fri, 29 Oct 2021 23:36:09 +0300 Subject: [PATCH] [UrlebirdBridge] Fix for non ASCII characters in post URI (#2312) --- bridges/UrlebirdBridge.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bridges/UrlebirdBridge.php b/bridges/UrlebirdBridge.php index 2483e202..6e1b4b14 100644 --- a/bridges/UrlebirdBridge.php +++ b/bridges/UrlebirdBridge.php @@ -19,6 +19,12 @@ class UrlebirdBridge extends BridgeAbstract { private $title; + private function fixURI($uri) { + $path = parse_url($uri, PHP_URL_PATH); + $encoded_path = array_map('urlencode', explode('/', $path)); + return str_replace($path, implode('/', $encoded_path), $uri); + } + public function collectData() { switch($this->getInput('query')[0]) { default: @@ -37,7 +43,7 @@ class UrlebirdBridge extends BridgeAbstract { $articles = $html->find('div.thumb'); foreach ($articles as $article) { $item = array(); - $item['uri'] = $article->find('a', 2)->href; + $item['uri'] = $this->fixURI($article->find('a', 2)->href); $article_content = getSimpleHTMLDOM($item['uri']); $item['author'] = $article->find('img', 0)->alt . ' (' . $article_content->find('a.user-video', 1)->innertext . ')'; @@ -48,7 +54,9 @@ class UrlebirdBridge extends BridgeAbstract { $item['content'] = $video->outertext . '
' . $article_content->find('div.music', 0) . '
' . $article_content->find('div.info2', 0)->innertext . - '

Video link'; + '

Direct video link

Post link

'; $this->items[] = $item; } }