webForumDet fria alternativet

Aktivera länkar

PHPur PHP

4 svar · 837 visningar · startad av SoulGod

Medlem sedan aug. 20051 200 inlägg
Frågan#1

Jag har idag ett nyhetsscript som ser ut såhär:

while($row = mysql_fetch_array($result))
{
	 echo "<img src='img/nyheter/b_".$row['img']."' alt='".$row['rubrik']."' class='ram' /><br><br>";
   echo "<h1>".$row['rubrik']." <span>( ".$row['datum']." av ".$row['skribent']." )</span></h1>";
	 
	 echo "<h3>".$row['innehall']."<br />";
 	 echo "<a href='index.php'><i>[ Tillbaka ]</i></a></h3>";
}

Det som inte fungerar just nu, är att om $row['innehall'] innehåller en HTTP länk, så fungerar inte länkarna ( ej klickbara ).

Jag undrar, hur gör jag detta?

Medlem sedan juni 20031 837 inlägg
#2

om den innehåller en HTTP länk, finns det även html-kod för att göra den till en länk eller vill du att skriptet ska lägga till html-kod för alla länkar?
Vad har du för krav på dina länkar, måste de börja med http://? några andra krav?

Medlem sedan aug. 20051 200 inlägg
#3

Den innehåller alltid http:// i texten när den skrivs,
och jag vill då att scriptet själv ska lägga till <a href före & efter o.s.v..

Medlem sedan juni 20031 837 inlägg
#4

Du kan använda preg_replace => http://se2.php.net/manual/en/function.preg-replace.php för att fixa det.
Du kan börja med det här, behöver nog anpassas för vissa specialfall.
ersätt

 echo "<h3>".$row['innehall']."<br />";

med

$innehall = preg_replace('/(http\:\/\/.*[0-9a-zA-Z])([\.\,]?\s)/U', '<a href="\1">\1</a>\2', $i);
 echo "<h3>".$innehall."<br />";
Medlem sedan juni 20031 837 inlägg
#5

Har detta löst sig eller har du fortfarande problem med skriptet?

134 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)