String suchen und ggf. ersetzen ..?!

Webby0815

Mitglied
Hallo zuammen ,
ich trage in eine Datenbank eine url ein :

Code:
$sql = "INSERT INTOapi (`url`,`apikey`, `act`, `mail`) VALUES ('$rtsites', '$apikey2', '0', '".$email."')";

nun muss ich ,wenn jemand die url ohne www. einträgt einen 2ten eintrag machen ,mit http://www.url.de , wie kann ich das bewerkstelligen ?

zumal wenn mit www. eingegeben wird ,soll er die domain ohne www. mit eintragen ?!

Hintergrund :

Ich biete eine API an ,die thumbshots generiert .Wenn aber die seite ohne www. aufgerufen wird ,habe ich das problem ,das der api key nicht geht...

Ich hoffe ihr könnt mir helfen :-9

Gruss
 
Hallo

Explode den String der URL mit "." überprüfe ob das erste ein "www" ist. fals nicht. füge es hinzu..

Jedoch hast du dann Probleme, falls jemand eine URL einfügt, welche kein www. am anfang hat.
 
Bevor du den Insert machst kannst du folgende Prüfung einbauen:

PHP:
$without_www = preg_replace('/^www\./', '', $rtsites);
$with_www = 'www.' . $without_www;

Das ganze schön in eine Funktion gepackt:

PHP:
/**
 * Gibt zwei Strings zurück, den ersten mit den zweiten ohne www. am Anfang.
 * @param $url Die Adresse - völlig egal ob mit oder ohne www. am Anfang
 * @return array
 ***************************/
function make_url_correct($url)
{
	$without_www = preg_replace('/^www\./', '', $url);
	$with_www = 'www.' . $without_www;

	return array($with_www, $without_www);
}

/*** Und ein Test: ***/
list($mit_www, $ohne_www) = make_url_correct('www.test1234.de');
var_dump($mit_www, $ohne_www);

list($mit_www, $ohne_www) = make_url_correct('php-macht-spass.net');
var_dump($mit_www, $ohne_www);
 
Zurück