Avatar billede mpj_86 Nybegynder
28. januar 2003 - 16:50 Der er 38 kommentarer og
3 løsninger

Lav text med www. om til link

Hej
Er der ikke en der kan lave så hvis man skrive f.eks www.jubii.dk så bliver det til et link som åbner op i et nyt vindue.

btw hvis i skal bruge det til noget så bruge jeg MySQL Database

//MPJ_86
Avatar billede mpj_86 Nybegynder
28. januar 2003 - 16:57 #1
Det skal bare være mangen til det her på siden (www.jubii.dk link)
Avatar billede swaxi Nybegynder
28. januar 2003 - 17:00 #2
function hreftxt($txt)
{
    if (strpos(strtolower($txt),'<a href')===false) {
        $txt = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>", $txt);
        $txt = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$txt);
    }
    return $txt;
}
Avatar billede mpj_86 Nybegynder
28. januar 2003 - 17:11 #3
Skal den stå under mysql_select_db?
Avatar billede mpj_86 Nybegynder
28. januar 2003 - 17:29 #4
Jeg kan ikke få den til at du
sådan her har jeg lavet det:

function hreftxt($besked)
{
    if (strpos(strtolower($besked),'<a href')===false) {
        $besked = preg_replace('/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i','<a target=\'_blank\' href=\'$link\'>$link</a>', $besked);
        $besked = preg_replace('/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i','<a href=\'mailto:$mail\'>$mail</a>', $besked);
    }
    return $besked;
}
Avatar billede enragedbudda Nybegynder
28. januar 2003 - 18:11 #5
du skal ikke bruge den funktion før du hiver det ud på en side... fx hvis det er et nyheds system skal du først sætte den der funktion ind når du skal printe tingene ud... hvis selve nyheden fx er i variablen: $row['nyhed'] skal du skrive:

echo hreftxt($row['nyhed']);

for at printe den ud... sværere er det ikke ;)/-<
Avatar billede swaxi Nybegynder
28. januar 2003 - 18:12 #6
antag at du har noget tekst i en variabel kaldet $text
istedet for at skrive
<?
$text = 'Er der ikke en der kan lave så hvis man skrive f.eks www.jubii.dk så bliver det til et link som åbner op i et nyt vindue.';
echo $text;
?>
skriver du så
<?
$text = 'Er der ikke en der kan lave så hvis man skrive f.eks www.jubii.dk så bliver det til et link som åbner op i et nyt vindue.';
echo hreftxt($text);
?>
Avatar billede enragedbudda Nybegynder
28. januar 2003 - 18:41 #7
swaxi: det var faktisk det jeg skrev :/...
Avatar billede swaxi Nybegynder
28. januar 2003 - 18:47 #8
ja, men jeg skrev det samtidig, som du kan se på klokkeslettet ...
Avatar billede enragedbudda Nybegynder
28. januar 2003 - 19:07 #9
nårh ja.. sry... havde bare ikke opdateret det...
Avatar billede mpj_86 Nybegynder
28. januar 2003 - 19:35 #10
nu har jeg prøvet og jeg kan bare ikke få det til at du er der ikke en der kan indsætte det ind her?

    $msg = $row["besked"];
    echo '<table border="0" width="744" style="border: 1px solid #000000;" align="center" cellspacing="0" cellpadding="0">';
    echo '<tr><td bgcolor="#80BCFF" style="border-bottom: 1px solid #000000;"><div style="float:left;">'.$stjerner.'</div><div style="float:right;"><a href="mailto:'.$row['mail'].'">'.$row['navn'].'</a> | '.$row['dato'].'</div>';
    echo "</td></tr><tr><td colspan='2' bgcolor='#B9E1FD'>";
    echo nl2br($msg);
    echo "</td></tr>";
    echo '</table><br>';

btw skriv hvis i skal bruge mere af koden.

skal jeg bare indsætte det som swaxi skrev i mellem mysql_select_db og mysql_query
Avatar billede swaxi Nybegynder
28. januar 2003 - 20:16 #11
du skriver såddan her :

<?
function hreftxt($txt)
{
    if (strpos(strtolower($txt),'<a href')===false) {
        $txt = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>", $txt);
        $txt = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$txt);
    }
    return $txt;
}

$msg = hreftxt($row["besked"]);
    echo '<table border="0" width="744" style="border: 1px solid #000000;" align="center" cellspacing="0" cellpadding="0">';
    echo '<tr><td bgcolor="#80BCFF" style="border-bottom: 1px solid #000000;"><div style="float:left;">'.$stjerner.'</div><div style="float:right;"><a href="mailto:'.$row['mail'].'">'.$row['navn'].'</a> | '.$row['dato'].'</div>';
    echo "</td></tr><tr><td colspan='2' bgcolor='#B9E1FD'>";
    echo nl2br($msg);
    echo "</td></tr>";
    echo '</table><br>';
?>
Avatar billede tipsen Nybegynder
28. januar 2003 - 20:54 #12
Den der bliver brugt på Eksperten.dk er så vidt jeg ved LJ's Tagster, som du kan finde på siden:

http://www.ljweb.com/?Ref=usefulscripts

Den er meget nem at bruge og fungerer rigtigt godt.
Avatar billede mpj_86 Nybegynder
28. januar 2003 - 23:08 #13
swaxi: det dur næsten den skriver det her:
Fatal error: Cannot redeclare hreftxt() in /usr/www/mopedpower_dk/forum/index2.php on line 63
--------------------------------------------------------
Her er line 63 fra min kode:
function hreftxt($besked) {
Avatar billede tipsen Nybegynder
29. januar 2003 - 00:45 #14
mpj: Har du prøvet mit forslag?
Avatar billede swaxi Nybegynder
29. januar 2003 - 00:58 #15
mpj_86 : du skal kun deklarere funktionen hreftxt() een gang ... ikke hver gang du bruger den.
Avatar billede swaxi Nybegynder
29. januar 2003 - 01:01 #16
eg. fjern din egen version af funktionen, dvs. linie 63 til og med 70
Avatar billede tipsen Nybegynder
29. januar 2003 - 01:23 #17
For at bruge tagster skriver du:

include('lib/tagster_lib.php');
$str = tagster_format($str, "_blank", "mystyle");

i din kode og det er en funktion der er væsentligt mere robust end den udgave swaxi har lavet (selvom den er fin) - men det er jo måske smag og behag.
Avatar billede mpj_86 Nybegynder
29. januar 2003 - 07:39 #18
swaxi:
Jeg kan ikke få det til at du. Du kan se koden fra 41 til 79 (line) her
http://www.forum.mopedpower.dk/index2.phps
og du kan se hvad den skriver af fejl her
http://www.forum.mopedpower.dk/index2.php
------------------------------------------------------------------------
tipsen
jeg har kikket lidt på den kode men den kode er alt for stor til at jeg kan finde ud af den så er det jo lidt nemmere med swaxi's mode

//MPJ_86
Avatar billede exp Juniormester
29. januar 2003 - 08:22 #19
Det er vel ikke nemmere med swaxi's metode, når tipsen skriver nøjagtig hvordan du skal gøre...
Avatar billede tipsen Nybegynder
29. januar 2003 - 09:10 #20
tjoh... - det med at læse indenad kan være svært ;-)
Avatar billede exp Juniormester
29. januar 2003 - 09:37 #21
Har ihvertfald haft STOR gavn af tagster, ved det virker -- foreslår det altid til andre! Hvorfor genopfinde den dybe tallerken flere gange?
Avatar billede mpj_86 Nybegynder
29. januar 2003 - 10:54 #22
ok når jeg kommer hjem fra skole :)
så prøver jeg lige tagster måde men er der nogle ting jeg skal indstille for at det kommer til at du??

skal jeg kun bruge den her line?:

include('lib/tagster_lib.php');
$str = tagster_format($str, "_blank", "mystyle");

men hvis jeg kun skal bruge den hvor skal jeg så indsætte de 2 liner henne i min kode?

kan den andre ting end den som swaxi kom med?

//MPJ_86
Avatar billede exp Juniormester
29. januar 2003 - 10:58 #23
Det kan også kende email etc.

Og nej, som udgangspunkt skal der ikke skrives mere end dette:

include('lib/tagster_lib.php');
$str = tagster_format($str, "_blank", "mystyle");
Avatar billede mpj_86 Nybegynder
29. januar 2003 - 11:11 #24
Er ikke lige med på hvad du mener med det her
Det kan også kende email etc.
------------------------------------------------------------------
Den kode hvor skal jeg indsætte den henne i min kode? hvis du skal bruge det til nået så bruge jeg MySQL

//MPJ_86
Avatar billede exp Juniormester
29. januar 2003 - 11:19 #25
Hvis du skriver en mail, laver den det om til et mail-link

hvis du fx trækker en tekst ud og kalder variablen for $text, så bliver scriptet:

include('lib/tagster_lib.php'); // skal kun gøres en gang på siden

$text = tagster_format($text, "_blank", "mystyle");

Bagefter udskriver du så $text:

echo $text;


Simpel as that :o)
Avatar billede exp Juniormester
29. januar 2003 - 11:19 #26
Simpel as that = Simple as that
Avatar billede mpj_86 Nybegynder
29. januar 2003 - 11:24 #27
ok det lyder nemt :)

men er der noget bestemt sted hvor jeg skal indsætte det her henne?

include('lib/tagster_lib.php'); // skal kun gøres en gang på siden

$text = tagster_format($text, "_blank", "mystyle");
Avatar billede exp Juniormester
29. januar 2003 - 11:26 #28
include('lib/tagster_lib.php'); // skal kun gøres en gang på siden

indsættes evt allerøverst i dokumentet - fx før <html>

<?php
  include('lib/tagster_lib.php');
?>

----------------

$text = tagster_format($text, "_blank", "mystyle");

indsættes efter udtræk fra databasen

----------------

<?php echo $text; ?>

indsættes hvor du vil have teksten udskrevet
Avatar billede mpj_86 Nybegynder
29. januar 2003 - 14:24 #29
nu tror jeg at det dur men jeg har nogle problemer med at få det udskrevet på siden

$msg = ($row["besked"]);
echo nl2br($msg);

Er der ikke en der kan sætte det ind så det dur? altså text
Avatar billede swaxi Nybegynder
29. januar 2003 - 14:43 #30
du skal skrive :

$msg = hreftxt($row["besked"]);
echo nl2br($msg);

og så skal du et eller andet sted tidligere i dit script (men kun een gang) skrive :

du skriver såddan her :

<?
function hreftxt($txt)
{
    if (strpos(strtolower($txt),'<a href')===false) {
        $txt = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>", $txt);
        $txt = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$txt);
    }
    return $txt;
}
Avatar billede exp Juniormester
29. januar 2003 - 15:30 #31
echo tagster_format(nl2br($row["besked"]), "_blank", "mystyle");
Avatar billede mpj_86 Nybegynder
29. januar 2003 - 16:16 #32
exp: nu det dur det men hvorfor skriver den mine smileys nu med text istedet for billede?

her er et eks. på en besked

www.mopedpower.dk  <img src="icon_smile.gif"><br />
<br />
postmaster@mopedpower.dk
Avatar billede exp Juniormester
29. januar 2003 - 16:38 #33
fordi dine smileys ikke bliver konverteret

Må jeg se din konverteringskode?
Avatar billede mpj_86 Nybegynder
29. januar 2003 - 16:47 #34
$besked = str_replace(':)','<img src="icon_smile.gif">',$besked);

//MPJ_86
Avatar billede mpj_86 Nybegynder
30. januar 2003 - 01:07 #35
kan du slet ikke hjælpe mig med de smileys?
Avatar billede tipsen Nybegynder
30. januar 2003 - 01:43 #36
Den del er der ikke noget galt med - vis noget mere af din kode og vis den relevante del af html-outputtet!
Avatar billede exp Juniormester
30. januar 2003 - 09:32 #37
$besked = tagster_format(nl2br($row["besked"]), "_blank", "mystyle");
$besked = str_replace(':)','<img src="icon_smile.gif">',$besked);
echo $besked;
Avatar billede tipsen Nybegynder
31. januar 2003 - 01:33 #38
og hvilken html-kode giver den kode anledning til?
Avatar billede exp Juniormester
11. februar 2003 - 11:31 #39
finder du ud af det?
Avatar billede exp Juniormester
17. februar 2003 - 11:50 #40
Husk at lukke spørgsmålet...
Avatar billede exp Juniormester
27. august 2003 - 23:32 #41
Har luret fejlen... tagster konverterer < og > til htmlkoder!

Lukketid?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester