sql >> Database teknologi >  >> RDS >> Mysql

php indsætter preg_match_all array

Her http://php.net/manual/en/function. preg-match-all.php du kan læse om den 4. parameter af preg_match_all. Du kan gå over de fundne webadresser. Jeg ændrede slutningen af ​​dit regulære udtryk, så det ikke fanger hele linjen:

$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);
}

Vær også forsigtig med SQL-injektion, og brug mysql_real_escape_string, når du bruger brugerdata i dine forespørgsler.



  1. Bruger du Mysqli bind_param med dato- og tidskolonner?

  2. Sådan fjerner du en adgangskode fra en database i Access 2016

  3. Sådan udtrækkes et bestemt n'te tegn fra en streng i SQL

  4. Hvordan kan jeg udføre vakuum ved hjælp af PostgreSQL?