link überprüfen ob http:// vorhanden

scrotum

Erfahrenes Mitglied
Ich hab da ein Formular, wo die Users ihre Links posten können. Jetzt will ich überprüfen, ob sie den Link mit oder ohne http:// hineinschreiben, und wenn nicht, dann sollte er automatisch hinzugefügt werden.

Ich habe mit der Suchfunktion nach ähnlichem gesucht, doch das Gefundene konnte mir nicht zu einer Lösung verhelfen. Ich habe noch sehr wenig Erfahrung in PHP. Ich konnte es nicht gewünscht in mein Formular einfügen.

Ich denke diese Funktion wäre für mein Problem hilfreich, oder?
Nur weiss ich nicht wie ich diese Funktion und mein Formular verbinden kann.

Die Funktion:
PHP:
<?php

function links($new) 
{
$pattern = '\{url\}<a href="http://www." target="_blank">www.</a>([^\[]*)\{/url\}';
return eregi_replace($pattern,"<a href=\"http://www.\1\" target=_blank>\1</a>",$new); 
}
$new="{url}<a href="http://www.404lounge.net" target="_blank">]www.404lounge.net</a>{/url}";
echo links($new); 

?>

Also hier mein Formular:
PHP:
while(list($titel, $text, $link, $name)= mysql_fetch_row($abfrage))
{
$text = str_replace("\n", "<br>", $text);
echo "<body bgcolor='#e6e6e6' link='black' vlink='black' alink='black'>";
echo "<div align='center'>";
echo "<table border='0' cellpadding='2' cellspacing='0' width='95%'>";
echo "<tr>";
echo "<td bgcolor='#c8c8c8'><font size='2' face='Arial,Helvetica,Geneva,Swiss,SunSans-Regular'><b>$titel</b></font></td>";
echo "<td bgcolor='#c8c8c8'>";
echo "<div align='right'>";
echo "<font face='Arial,Helvetica,Geneva,Swiss,SunSans-Regular'' size='1'>(Eintrag von <span style='text-transform:capitalize;'>$name</span>)</font></div>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan ='2'><font face='Arial,Helvetica,Geneva,Swiss,SunSans-Regular' size='2'>$text</font></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan ='2'><font size='2' face='Arial,Helvetica,Geneva,Swiss,SunSans-Regular'><a href=$link target='_blank'><u>$link</u></a>";
echo "</font></td>";
echo "</tr>";
echo "</table>";
echo "<p></p>";
}

Vielen Dank schon im voraus.
 
Ich mache es so, dass bei jeder Linkeingabe mit
PHP:
str_replace('http://','',$_POST['web']);
ein evtl. vorkommendes http:// entfernt wird. Danach kann man dan jeder Variable wieder eins hinzufügen. Am besten aber immer erst bei der Ausgabe.
 
Ok das mit str_replace habe ich eingebunden, oder gibt es noch eine besser Lösung?

Die andere Funktion ist ja auch nicht von mir, ich dachte nur die könnte mir weiterhelfen, aber offenbar doch nicht.

Vielen Dank für die Antworten.
 
Zuletzt bearbeitet:
javascript:
(ich kann nicht garantieren das es grad richtig ist!)
Code:
//Also wie ich das verstanen habe, wird ein "http://" ja entfernt
<html>
<head>
<script>
var val = window.document.form.new.value;
var new = "http://"+val;
window.document.form.new.value=new;
</script>
</head>
<body>
<form name="form">
<input type="hidden" name="new" value="<? echo $_POST['web']; ?>">
</form>
</body>
</html>
wie gesagt, ka obs geht, aber es könnte unter umständen klappen!

€dit:
nö, klappt nich:rolleyes:

€dit2:
so klappts:
Code:
<html>
<head>
<script>
function test() {
  var val=window.document.form.test.value;
  var test="http://"+val;
  window.document.form.test.value=test;
}
</script>
</head>
<body onLoad="test()">
<form name="form">
<input type="text" name="test" value="lol">
</form>
</body>
</html>
 
Zuletzt bearbeitet:
Zurück