http:// automatisch einfügen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anscheinend
beispiel
beitrag
benutzer
besten schleim
contest
exemplar
extra
formular
funktion
gel
korrekte adresse
lesen
methode
mist
mumpitz
parameter
stehen
vielen dank
-
Kennt jemand ein script das automatisch erkennt ob vor einem link der ein user mit einem formular abgeschickt hat schon http:// steht,
wenn nicht es automatisch eingef?gt wird?
Ich k?nnte es ja so machen:
<a href="$link">....
aber wenn der user dann schon http:// eingegeben hat w?rde das zweimal stehen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
las das http einfach weg, wenn der Benutzer das einf?gt is das ja ganz sch?n, wenn ers ausl?sst aber nicht weiter schlimm, da http:// eh vom Browser automatisch eingef?gt wird.
-
ist das nicht so wenn der http ausl?sst dann beispiel http://www.lima-city.de/www.lima-city.de wird?
also php oder?
hab sowas auch mal gefragt mir w?rde das vorgeschlagen und l?uft super
$link = str_replace("http://","",$link); $link2= "http://"; $link3 = $link2.$homepage; if ($link){ $link = "<a href='$link3' target='blank'></a>"; }
Erkl?rung:
steht da http:// ? wird gel?scht der gel?scht.
Weil <a href='.... schon automatisch vor ihn setzt
fallst nicht geht keine ahnung :P
probier mal aus
muss wech sorry ^^
Beitrag ge?ndert am 13.09.2005 15:18 von bilo -
$http = 'http://';
$url = 'http://www.bratwurst.de/'
$url = preg_replace(
'{\A'.preg_quote($url).'}',
'',
$url
);
// Jetzt hat die URL kein "http://" mehr
print($url);
// Du kannst es aber wieder anf?gen
$url = $http.$url;
// und nun ist es wieder dran
print($url);
// So siehts sch?n formatiert aus:
printf(
'<a href="%s">%s</a>',
$url,
$url
);
MfG
alopex -
Und so gehts am einfachsten:
$url = "www.lima-city.de"; if (!strstr($url,"http://")) $url = "http://$url";
In $url hast du nun die korrekte Adresse, welche du dann auch f?r die Links benutzen kannst. -
Du kannst auch einfach in das eingabefeld schon http:// schreiben dann hast du im Formular:
<input tpye="text" value="http://">
Dann kannst du da d?ber schreiben das der User das mit http:// eingeben muss. -
...und am sichersten gehts so :
function cyCase_url_conform ( $a) { if ( is_array ( $a ) ) { return ( array_map ( "cyCase_url_conform", $a ) ); } else { $a = urlencode ( $a ); $a = preg_replace ( '/&/Ui', '&amp;', $a ); return ( $a ); } } function cyCase_bbcode ( $a ) { if ( is_array ( $a ) ) { return ( array_map ( "cyCase_bbcode", $a ) ); } else { $a = htmlentities ($a); $a = ($a); $a = eregi_replace ( "http://www.", "www.", $a ); $a = eregi_replace ( "www.", "http://www.", $a ); $a = preg_replace ( $exemplar, $replace, $a ); return ( $a ); } } $url = 'www.cycase.de'; printf( '<a href="%s">%s</a>', cyCase_url_conform ( $url ), cyCase_bbcode ( $url ) );
Beitrag ge?ndert am 13.09.2005 21:18 von lucas9991 -
lucas erk?rung :P
zu kompliziert :P -
lucas erk?rung :P
zu kompliziert :P
Was verstehst du denn nicht?
Das eingetliche was du machen musst ist den Link "durch cyCase_url_conform () zu jagen" und den Namen "durch cyCase_bbcode () zu jagen".
*nachtr?glich_einf?g*
Mist, da hab ich wohl Mumpitz gepostet. ^^
Ich habe die Funktionen falsch zusammengeschrieben und falsch angewandt...
Also hier der richtige Code :
function cyCase_url_conform ( $a) { if ( is_array ( $a ) ) { // wenn der ?bergebene Parameter "$a" ein Array ist, jeden Wert durch die Funktion "cyCase_url_conform ()" "jagen" return ( array_map ( "cyCase_url_conform", $a ) ); } else { $a = urlencode ( $a ); // ?,?,? etc. entwerten $a = preg_replace ( '/&/Ui', '&amp;', $a ); // Das & extra entwerten, da es anscheinend bei "urlencode ()" vergessen wurde $a = eregi_replace ( "http://www.", "www.", $a ); $a = eregi_replace ( "www.", "http://www.", $a ); // http://www. ersetzten durch www. // www. ersetzten durch http://www. // h?rt sich komisch an, ist aber sehr logisch ;) return ( $a ); } } $url = 'www.cycase.de'; printf( '<a href="%s">%s</a>', cyCase_url_conform ( $url ), htmlentities ( $url ) );
Beitrag ge?ndert am 13.09.2005 22:42 von lucas9991 -
@lucas9991: Wenn ich jetz ?ber deine Methode eine URL wie subdomain.domain.tdl (ohne www.) jagen w?rde, dann w?re das http:// danach trotzdem nicht da! Wie w?re es denn, wenn man ?berpr?ft, ob die ersten 7 Zeichen gleich 'http://' sind und ansonsten 'http://' anf?gt?
$url = 'subdomain.domain.tdl';
if (substr($url,0,7) != 'http://') $url = 'http://'.$url; -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage