diff options
Diffstat (limited to 'mod/parse_url.php')
-rw-r--r-- | mod/parse_url.php | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/mod/parse_url.php b/mod/parse_url.php index 33381a0d2..db306ca76 100644 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -3,15 +3,20 @@ require_once('library/HTML5/Parser.php'); function parse_url_content(&$a) { + $url = trim($_GET['url']); - $template = "<a href=\"%s\" >%s</a>"; + $template = "<a href=\"%s\" >%s</a>%s"; if($url) $s = fetch_url($url); + else { + echo ''; + killme(); + } if(! $s) { - echo sprintf($template,$url,$url); + echo sprintf($template,$url,$url,''); killme(); } @@ -21,12 +26,30 @@ function parse_url_content(&$a) { return $ret; $items = $dom->getElementsByTagName('title'); - - foreach($items as $item) { - $title = $item->textContent; - break; + + if($items) { + foreach($items as $item) { + $title = $item->textContent; + break; + } + } + + $items = $dom->getElementsByTagName('p'); + if($items) { + foreach($items as $item) { + $text = $item->textContent; + $text = strip_tags($text); + if(strlen($text) < 100) + continue; + $text = substr($text,0,250) . '...' ; + break; + } + } + + if(strlen($text)) { + $text = '<br />' . $text; } - echo sprintf($template,$url,$title); + echo sprintf($template,$url,$title,$text); killme(); }
\ No newline at end of file |