Jump to content

php url detection


Silencez

Recommended Posts

<?php
 
if (!defined("IN_PASTE"))
      die("Access denied!");
 
/*
Plugin Name: Pastes links
Plugin URI: http://php-pastebin.com/
Description: Get link of paste
Version: 1.0
Author: Atmoner
Author URI: http://php-pastebin.com/
*/
 
//set plugin id as file name of plugin
$plugin_id = basename(__FILE__);
 
//some plugin data
$data['name'] = "Pastes links";
$data['author'] = "Atmoner";
$data['url'] = "http://php-pastebin.com/";
 
//register plugin data
register_plugin($plugin_id, $data);
 
//Hook , where to execute a function homeblock()
add_hook('paste_page','pasteLinks');
 
// Hook function
function pasteLinks() {
	global $hook,$startUp,$smarty;

	// Parse code in geshi lib
	include_once('libs/geshi/geshi.php');
	$id = (isset($_GET["id"])?$_GET["id"]:"");
	$p = $startUp->getPaste($id);

	if (!empty($p)) {

	// The Regular Expression filter
	$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
	 var_dump($p['paste']);
	// Check if there is a url in the text
	if(preg_match($reg_exUrl, $p['paste'], $url)) { 
		    $paste = preg_replace( '/(http|ftp)+(s)?\/\/)((\w|\.)+)(\/)?(\S+)?/i', '<br /><a href="\0" target="_BLANK">\0</a>', $p['paste'] );
		$smarty->assign("result",$paste);
		$smarty->assign("getPaste",$p);
	} else {
	$geshi = new GeSHi(html_entity_decode(htmlspecialchars_decode($p['paste'])), $p['lang']);
	$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);
	$geshi->set_header_type(GESHI_HEADER_DIV); 
	$geshi->set_case_keywords(GESHI_CAPS_LOWER);
	$geshi->set_footer_content('Parsed in <TIME> seconds');
	 
	$paste = $geshi->parse_code();
	$smarty->assign("getPaste",$p);
	}



	// Update hits
	$startUp->updateHits($id);
	} 


	$hook->remove_addcontentpaste('defaultpaste');
	$hook->addcontentPaste('name_content',$paste,2);
}

Tho'

Currently the Code creates spacing with plain text what rolls over the site

Any idea on changes to make it compatible with plain text as well ?

 

Link to comment
https://forums.phpfreaks.com/topic/287537-php-url-detection/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.