Gå til innhold

legge til http://


Anbefalte innlegg

Skrevet

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..

Videoannonse
Annonse
Gjest Slettet-rXRozPkg
Skrevet (endret)

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
Skrevet

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 :)

Gjest Slettet-rXRozPkg
Skrevet (endret)

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
Skrevet
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.

Klart det er en mulighet, men det er vel større sjangse for at det blir riktig med den der enn uten :D hehe

 

Men det beste er vel å sjekke at den er der og det bare EN gang.

 

Kan jo ha en reminder og da.... hvis det er plass vel og merke...

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...