Gå til innhold

legge til http://


Anbefalte innlegg

jeg har en shoutbox på hjemmesiden min, men de som skriver inn adressen sin har en lei tendens til å ikke legge til http:// foran adressen og den blir da ikke klikkbar. hvordan kan jeg gjøre dette? og hvis det allerede er lagt til må jo det ikke legges til, hvordan kan dette gjøres?

mener å ha sett den et sted, men husker ikke hvor, eller hvordan..

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet-rXRozPkg

Laget en liten funksjon som du kan bruke.

 

<?php

function add_http($input) {
// hvis ikke (!eregi) $input inneholder http:// i starten, legg det til i starten på $input.
if (!eregi ("^http:\/\/", $input)) {
 $input = "http://".$input;
}
return $input;
}

$str1 = "www.hei.net";
$str2 = "http://www.hei.net";

$str1 = add_http($str1);
$str2 = add_http($str2);


echo "Str1: $str1<br>";
echo "Str2: $str2<br>";
?>

 

Ellers kan du lese på:

http://no2.php.net/manual/en/function.eregi.php

Endret av Slettet-rXRozPkg
Lenke til kommentar

takk, funker nok helt sikkert. er ganske fersk på php så jeg ser ikke helt sammenhengen og hvordan jeg skal kombinere http scriptet med shoutboxen scriptet jeg har..

 

<form action="http://smidt.predicted.net/index.php?side=shoutbox" method="post" id="addShout">
<div>
   <div align="left" ><p class="margin">
     <label for="shoutName"><font color="#CCCCCC">Navn:</font></label>
<input type="text" name="name" size="15" id="shoutName"/>
   </div>
</div>
<div>
   <div align="left">
     <p class="margin"> 
       <label for="shoutAddress"><font color="#CCCCCC">  URL: </font></label>
       <input type="text" name="address" size="15" id="shoutAddress"/>
</div>
 </div>
 <div align="center">
   <label for="shout"><font color="#CCCCCC">Melding:</font></label>
   <textarea name="shout" cols="40" id="shout"></textarea>
 </div>
 <div align="center">
   <input type="submit" id="submit" value="send" />
</div>
</form>


<?php
// Tidy up the input, by trimming the spaces and line breaks,
// as well as removing any HTML and slashes (slashes produced by PHP)
$shout = trim(strip_tags(stripslashes($_POST['shout'])));
$name = trim(stripslashes(strip_tags($_POST['name'])));
$address = trim(stripslashes(strip_tags($_POST['address'])));

// Limits the shout size entered by the user.
if (strlen($shout) >= 200) {
   $shout = substr($shout, 0, 200);
   $shout = $shout."...";
}

// If the user has entered a shout, open the 'shouts.txt' file,
// and execute the following conditionals.
if ($shout != "") {
   $fp = fopen("shouts.html", "a");
   $today = date("d/m, H:i");
   // If the user has not entered a name or a address,
   // print today's date and the shout.
   if ($name == "" && $address == "") {
       fwrite($fp, "<strong>$today:</strong> $shout\n");
   }
   // If the user has entered a name but not an address,
   // print today's date, the name, a hyphen and then the shout.
   else if ($name != "" && $address == "") {
       fwrite($fp, "<strong>$today:</strong> $name - $shout\n");
   }
   // If the user has entered an address but not a name,
   // print today's date, then 'Anon' as a link to the address, a hyphen and then the shout.
   else if ($name == "" && $address != "") {
       fwrite($fp, '<strong>'.$today.':</strong> <a href="'.$address.'" title="Click here to view the website for this entry">Anon</a> - '.$shout."\n");
   }
   // If the user has entered both name and address,
   // Print their name as a link to their address (with the appropriate title), a hyphen and then their shout.
   else if ($name != "" && $address != "") {
       fwrite($fp, '<strong>'.$today.':</strong> <a href="'.$address.'" title="Click here to view the website for '.$name.'">'.$name.'</a> - '.$shout."\n");
   }
   // All situations are covered by the above code,
   // so the following code should never be executed.
   else {
       die("you should never see this ... if you are, something has gone horribly horribly wrong!");
   }
   
   // Close the 'shouts.txt' file
   fclose($fp);
}
?>

<p class="tekst">
<?php
$shouts = file('shouts.html');
$shouts = array_reverse($shouts);
foreach ($shouts as $item)
{
   print "<hr>".$item."</li>\n";
}
?>

scriptet om noen vil ta en titt :)

Lenke til kommentar
Gjest Slettet-rXRozPkg

Da kan man jo også få den berømmelige http://http://www.side.net :laugh:

Men det er faktisk en god ide å la det stå http:// der som standard.

 

Du kan legge inn koden min slik:

 

<?php
// Tidy up the input, by trimming the spaces and line breaks,
// as well as removing any HTML and slashes (slashes produced by PHP)
$shout = trim(strip_tags(stripslashes($_POST['shout'])));
$name = trim(stripslashes(strip_tags($_POST['name'])));
$address = trim(stripslashes(strip_tags($_POST['address'])));
// Legger til http:// hvis det ikke er i starten av $address
if (!eregi ("^http:\/\/", $address)) {
 $address = "http://".$address;
}

 

Det som Svendesen foreslo kan du gjøre på denne linjen:

<input type="text" name="address" size="15" id="shoutAddress"/>

Bytt til:

<input type="text" name="address" size="15" id="shoutAddress" value="http://"/>

Endret av Slettet-rXRozPkg
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...