• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

string ersetzen Problem

möchte in eienm Gästebuch die Webadresse ausgeben mit link

folgendes Problem gibt der user die Adresse nur mit www.test.de ein ohne http:// davor dann denkt der Browser dass die Seite auf dem Server liegt setzt man das http.// davor dann wird man erst auf die andere Seite gelinkt.


jetzt soll wenn einer nur www.test.de eingibt davor noch dass http:// und wenn er es eingibt dann soll alles beim alten bleiben. folgenden etwas umständlichen Code habe ich mir überlegt. das Problem ist. schau ich danach in mein SQL Tabelle ist die Adresse nur ohne http:// drin


Code:
$Webadresse = trim($_POST['internetadresse']); 

if ($Webadresse == "geben Sie hier bitte Ihre Webadresse ein"){$Webadresse="";} 

else { if (str_replace('http://', 'http://', $Webadresse))  {  } 
else {$Webadresse = "http://".$Webadresse;}     }
 
ginka schrieb:
Und was hat deine Frage mit dem Thema dieser Forensektion "SQL und ODBC" zu tun?

Viele Grüße
ginka

indirekt hat es damit was zu tun. da ich versuche ne korrekte datenbank aufzubauen die alle eventualitäten abdeckt.


und das Problem ist wie gesagt obiges.


in einem html link muss immer <a href=http://www.test.de> stehen statt <a href=www.test.de>

und diese versuche ich umzusetzen. gibt der user nix ein ist es okay. gibt er was ein dann soll geguckt werden ob http:// dabei ist. wenn das so ist bleibt alles beim alten.

fehlt http:// soll es dazugeadded werden.


und ich dachte die funktion str_replace gibt dfen rückgabewert true zurück damit man sie in einer if funktion lauen lassen kann
 
Für mich ist es ein Thema fürs Programmierforum, denn deine Frage dreht sich um die Bearbeitung eines Strings mit php. Ob du das Ergebnis dann in einer Datenbank ablegst oder nicht, spielt dabei keine Rolle.

Aber egal... probiers doch mal so:

Code:
$string = "http://www.test.de";	// oder $string = "www.test.de";	
if ( strpos($string, "http://") === false )
	$string = "http://" . $string;

echo $string;

Viele Grüße
ginka
 
Hi

Ich verschiebe das mal ins Programmier Forum. :wink:
Bitte benutze eine normale deutsche Rechtschreibung dann hat man auch mehr Lust zu helfen. :)

cu
 
so dass Problem habe ich jetzt lösen können. einfach mal in der if bedingung die vorher vergessene eingegeben und jetzt funktionierts


Code:
{ if (str_replace('http://', 'http://', $Webadresse) === true)
 
djpartyteam schrieb:
so dass Problem habe ich jetzt lösen können. einfach mal in der if bedingung die vorher vergessene eingegeben und jetzt funktionierts


Code:
{ if (str_replace('http://', 'http://', $Webadresse) === true)
Das macht nicht so wirklich Sinn. Du ersetzt alle http:// mit http://....
 
djpartyteam schrieb:
so dass Problem habe ich jetzt lösen können. einfach mal in der if bedingung die vorher vergessene eingegeben und jetzt funktionierts


Code:
{ if (str_replace('http://', 'http://', $Webadresse) === true)

Bist du dir da sicher? :wink:

Der Rückgabewert von str_replace() ist niemals vom Datentyp boolean. So wie du es notiert hast, ist der Rückgabewert immer ein String, und deine Prüfung ergibt immer false.

Siehe http://de3.php.net/manual/de/function.str-replace.php

Warum versuchst du nicht festzustellen, ob in der Zeichenkette der String 'http://' bereits vorhanden ist? Beispiel siehe oben. Und guckst du hier: http://de3.php.net/manual/de/function.strpos.php

Viele Grüße
ginka
 
Oben