Тук http://php.net/manual/en/function. preg-match-all.php можете да прочетете за 4-тия параметър на preg_match_all. Можете да преминете през намерените URL адреси. Промених края на вашия регулярен израз, така че няма да улови целия ред:
$urlinput=mysql_real_escape_string($_POST['url']);
$pattren="/(http:\/\/)[a-zA-Z0-9]*\.[a-z]*(.*)|(www)\.[a-zA-Z0-9]*\.[com]*([a-zA-Z0-9\.\-_\/\?=\:]*)/";
preg_match_all( $pattren, $urlinput, $matches, PREG_SET_ORDER );
foreach($matches as $match) {
$id=rand(10000,99999);
$shorturl=base_convert($id,20,36);
$sql = "insert into url values('$id','" . mysql_real_escape_string($match[0]) . "','$shorturl')";
mysql_query($sql,$con);
}
Също така внимавайте с инжектирането на SQL и използвайте mysql_real_escape_string, когато използвате потребителски данни във вашите заявки.