webForumDet fria alternativet

[url=www.sida.com]text[/url]

26 svar · 670 visningar · startad av Cactuz

CactuzMedlem sedan okt. 2001670 inlägg
#1

Hur gör man för att d ska göras om till <a href="www.sida.com">text</a> genom replace lr nått?

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#2

Halva svaret finns här: ;)

http://www.webforum.nu/showthread.php?s=&threadid=48588

SPiNMedlem sedan mars 20007 896 inlägg
#3

Kanske kommer jag med hela, har inte testat:

$text = "Hej, besök [url=http://www.webforum.nu]webForum[/url] nu!";
$text = preg_replace ( "/\[url=((http:\/\/|https:\/\/|ftp:\/\/|mailto:|file:\/\/|telnet:\/\/|gopher:\/\/)|(www\.))([\w\.\/\?]+)\](.*?)[\/url]/is", "<a href=\"\\2\\3\\4\" target=\"_blank\">\\5</a>", $text );

Kan funka. :)

CactuzMedlem sedan okt. 2001670 inlägg
#4

hmm.. borde forumet verkligen reagera på forumkod som står i


?

CactuzMedlem sedan okt. 2001670 inlägg
#5

den där koden skrev inte ut ett ända tecken :)

SPiNMedlem sedan mars 20007 896 inlägg
#6

Nu först jag ingenting, Cactuz? :q
Vad skulle forumet reagera på? Skrev inte min kod ut någonting? :)

Jörgen HPMedlem sedan feb. 20012 412 inlägg
CactuzMedlem sedan okt. 2001670 inlägg
#8

hehe.. Det va lite offtopic kanske.. men.. d jag menade va att webForum blev en länk inom


taggen

CactuzMedlem sedan okt. 2001670 inlägg
#9

Ingen som har en lösning på mitt problem? :)

CactuzMedlem sedan okt. 2001670 inlägg
#10

SPiN: nope.. inte ett ända tecken ;)

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#11

Jag fick ut tecken, men den omvandlade konstigt:

http://checkit.nu/wf.php

CactuzMedlem sedan okt. 2001670 inlägg
#12

Jo.. nu fick jag den att skriva ut.. men jag får samma problem.. + att den gör inget alls om inte http:// finns med

CactuzMedlem sedan okt. 2001670 inlägg
#13

Kan man inte plocka ut just adressen o göra en if sats eller nått för att kolla om den börjar med http://?

QonosMedlem sedan sep. 2000438 inlägg
#14

jag använder nått likandnde (om inte samma) preg_replace som här ovan, men saken är att det sabbar hela min layout om URLerna är förlånga.
hur gör man för att få rdet

<a href='http://hela_urlen_på_en_massa_tecken'>femton_tecken_av urlen_och_tre_punkter...</A>

hehe hängde ni med på vad jag mena?? =)

CactuzMedlem sedan okt. 2001670 inlägg
#15

Det beror på vad du menar med sabbar designen. Menar du d gammla vanliga att långa ord drar ut tables? Isåfall kan jag inte hjälpa sig då jag har samma problem :)

QonosMedlem sedan sep. 2000438 inlägg
#16

Denna funktionen förkortat URLen på det man ser och ersätter med 3 punkter

function shortlinks ($text, $maxchars) {
 $temp = $text;
 while (ereg("[A-Za-z]+://[^ <>\n]*[A-Za-z0-9/]", $temp, $regs)) {
  $temp = str_replace ($regs[0], '', $temp);
  $shortlink[count($links)] = substr (ereg_replace("[A-Za-z]+://([^ <>\n]*[A-Za-z0-9/])", "\\1", $regs[0]), 0, $maxchars);
  $links[count($links)] = $regs[0];
  $alink[count($links) - 1] = $links[count($links) - 1];
  if ('http://' . $shortlink[count($links) - 1] != $links[count($links) - 1]) {
   $shortlink[count($links) - 1] .= '...';
  }
 }
 while (ereg("www\\.[^ <>\n]*[A-Za-z0-9/]", $temp, $regs)) {
  $temp = str_replace ($regs[0], '', $temp);
  $shortlink[count($links)] = substr ($regs[0], 0, $maxchars);
  $links[count($links)] = $regs[0];
  $alink[count($links) - 1] = 'http://' . $links[count($links) - 1];
  if ($shortlink[count($links) - 1] != $links[count($links) - 1]) {
   $shortlink[count($links) - 1] .= '...';
  }
 }
 for ($i = 0; $i < count ($links); $i++) {
  $text = str_replace ($links[$i], '<a href="' . $alink[$i] . '" target="_blank">' . $shortlink[$i] . '</a>', $text);
 }
 return $text;
}
CactuzMedlem sedan okt. 2001670 inlägg
#17

Den där koden gjorde.. livet en aning lättare för mig :)

Men får felmeddelandet:

Notice: Undefined variable: links in ... on line 25

Notice: Undefined variable: links in ... on line 26

även fast scriptet funkar :)

CactuzMedlem sedan okt. 2001670 inlägg
#18

Ingen som vet varför? =)

SPiNMedlem sedan mars 20007 896 inlägg
#19

Använd isset() mot variabeln links i if-satserna, så ska det fungera - eller deklarera links först i funktionen.

isset( $links )
// Eller
$links = array()
CactuzMedlem sedan okt. 2001670 inlägg
#20

Ok.. nu funkar d... Bara en fråga till.. Har försökt göra så den reagerar båda på http:// och www. utan framgång... någon som vet? :)

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