X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=inc%2Fpoche%2FUrl.class.php;h=8b3468c3a2eff28adeeb39495f4d043a0db0fa32;hb=42c80841c846610be280218d53fcde06b0f0063b;hp=f4a8f99e6377dee187142db7495227f8a49860c1;hpb=9a8b4ff4edf84d7df60de1b6fd1e493b59f88273;p=github%2Fwallabag%2Fwallabag.git diff --git a/inc/poche/Url.class.php b/inc/poche/Url.class.php index f4a8f99e..8b3468c3 100644 --- a/inc/poche/Url.class.php +++ b/inc/poche/Url.class.php @@ -25,70 +25,7 @@ class Url $this->url = $url; } - public function isCorrect() - { - $pattern = '|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i'; - - return preg_match($pattern, $this->url); - } - - public function clean() - { - $url = html_entity_decode(trim($this->url)); - - $stuff = strpos($url,'&utm_source='); - if ($stuff !== FALSE) - $url = substr($url, 0, $stuff); - $stuff = strpos($url,'?utm_source='); - if ($stuff !== FALSE) - $url = substr($url, 0, $stuff); - $stuff = strpos($url,'#xtor=RSS-'); - if ($stuff !== FALSE) - $url = substr($url, 0, $stuff); - - $this->url = $url; - } - - public function fetchContent() - { - if ($this->isCorrect()) { - $this->clean(); - $html = Encoding::toUTF8(Tools::getFile($this->getUrl())); - - # if Tools::getFile() if not able to retrieve HTTPS content, try the same URL with HTTP protocol - if (!preg_match('!^https?://!i', $this->getUrl()) && (!isset($html) || strlen($html) <= 0)) { - $this->setUrl('http://' . $this->getUrl()); - $html = Encoding::toUTF8(Tools::getFile($this->getUrl())); - } - - if (function_exists('tidy_parse_string')) { - $tidy = tidy_parse_string($html, array(), 'UTF8'); - $tidy->cleanRepair(); - $html = $tidy->value; - } - - $parameters = array(); - if (isset($html) and strlen($html) > 0) - { - $readability = new Readability($html, $this->getUrl()); - $readability->convertLinksToFootnotes = CONVERT_LINKS_FOOTNOTES; - $readability->revertForcedParagraphElements = REVERT_FORCED_PARAGRAPH_ELEMENTS; - - if($readability->init()) - { - $content = $readability->articleContent->innerHTML; - $parameters['title'] = $readability->articleTitle->innerHTML; - $parameters['content'] = $content; - - return $parameters; - } - } - } - else { - #$msg->add('e', _('error during url preparation : the link is not valid')); - Tools::logm($this->getUrl() . ' is not a valid url'); - } - - return FALSE; + public function isCorrect() { + return filter_var($this->url, FILTER_VALIDATE_URL) !== FALSE; } } \ No newline at end of file