Avatar billede henriklaursen Nybegynder
11. juli 2003 - 14:26 Der er 7 kommentarer og
1 løsning

Udskift tekst med HTML

Hej..
jeg er ved at lave et redigerings system til en hjemmeside.
jeg vil gerne have lavet det så nemt for brugerne så muligt, så jeg har tænkt, at når en bruger skriver f.eks. <link>www.etlink.com</link> inde midt i teksten.
så skal start og slut <link> erstattes med <a href.. tagene..

er der nogle der hurtigt kan fortælle hvordan det skal gøres, og gerne med kode eksempler..
Avatar billede exp Juniormester
11. juli 2003 - 14:39 #1
Avatar billede Slettet bruger
11. juli 2003 - 14:49 #2
Hvorfor bruger du ikke bare en RTF editor? Så taler nemhed!
F.eks!?
http://www.solmetra.com/spaw/demo/demo.php
Avatar billede ahv Nybegynder
11. juli 2003 - 14:52 #3
<?php
$str = '<link>http://www.eksperten.dk</link>';
$str = eregi_replace("<link>(www([^<]+))</link>","<a href=\"http://www\\2\">\\1</a>",$str);
$str = eregi_replace("<link>([^<]+)</link>","<a href=\"\\1\">\\1</a>",$str);
echo $str;
?>
Avatar billede snuseren.dk Nybegynder
11. juli 2003 - 23:30 #4
Du kunne f.eks. lave en, der skifter tekstens farve, når man f.eks. skriver <rød> og </rød>

Eks.

<?php
$tekst = 'Teksten om lidt, bliver rød <rød> Denne tekst er rød </rød> og noget tekst igen';
$tekst = str_replace("<","&lt", $tekst);
$tekst = str_replace(">","&gt", $tekst);
$tekst = str_replace("/","skrstr", $tekst);
$tekst = str_replace("&ltrød&gt","<code><font color=\"red\">&lt?php", $tekst);
$tekst = str_replace("&ltskrstrrød&gt","?&gt</font></code>", $tekst);
echo "$tekst";
?>

Den tager simpelthen og farver alt rødt, mellem <rød> og </rød>

// Anders
Avatar billede snuseren.dk Nybegynder
11. juli 2003 - 23:32 #5
Hov, der kom lige lidt af mit eget script med. Sådan her:

<?php
$tekst = 'Teksten om lidt, bliver rød <rød> Denne tekst er rød </rød> og noget tekst igen';
$tekst = str_replace("<","&lt", $tekst);
$tekst = str_replace(">","&gt", $tekst);
$tekst = str_replace("/","skrstr", $tekst);
$tekst = str_replace("&ltrød&gt","<font color=\"red\">", $tekst);
$tekst = str_replace("&ltskrstrrød&gt","?&gt</font>", $tekst);
echo "$tekst";
?>

// Anders
Avatar billede snuseren.dk Nybegynder
11. juli 2003 - 23:36 #6
Jeg lagde lige en test, så du kan se det op på nettet: www.snuseren.dk/tags.php

Men der er lige endnu en rettelse:

<?php
$tekst = 'Teksten om lidt, bliver rød <rød> Denne tekst er rød </rød> og noget tekst igen';
$tekst = str_replace("<","&lt", $tekst);
$tekst = str_replace(">","&gt", $tekst);
$tekst = str_replace("/","skrstr", $tekst);
$tekst = str_replace("&ltrød&gt","<font color=\"red\">", $tekst);
$tekst = str_replace("&ltskrstrrød&gt"</font>", $tekst);
echo "$tekst";
?>
Avatar billede snuseren.dk Nybegynder
11. juli 2003 - 23:42 #7
Ja ja ja, nu har jeg sæføli lavet en fejl IGEN! SORRY!

Men jeg lover dig, den her virker, og den ligger som sagt her: www.snuseren.dk/tags.php

<?php
$tekst = 'Teksten om lidt, bliver rød <rød> Denne tekst er rød </rød> og noget tekst igen';
$tekst = str_replace("<","&lt", $tekst);
$tekst = str_replace(">","&gt", $tekst);
$tekst = str_replace("/","skrstr", $tekst);
$tekst = str_replace("&ltrød&gt","<font color=\"red\">", $tekst);
$tekst = str_replace("&ltskrstrrød&gt","</font>", $tekst);
echo "$tekst";
?>

Du skriver bare alt din tekst, i variablen $tekst.

Hvis du vil have den til at virke med ahv's script, kan det gøres sådan:

<?php
$tekst = 'Teksten om lidt, bliver rød <rød> Denne tekst er rød </rød> og noget tekst igen og nu kommer der et link <link>www.snuseren.dk</link> og nu noget tekst igen :o)';
$tekst = str_replace("<","&lt", $tekst);
$tekst = str_replace(">","&gt", $tekst);
$tekst = str_replace("/","skrstr", $tekst);
$tekst = str_replace("&ltrød&gt","<font color=\"red\">", $tekst);
$tekst = str_replace("&ltskrstrrød&gt","</font>", $tekst);
$tekst = eregi_replace("<link>(www([^<]+))</link>","<a href=\"http://www\\2\">\\1</a>",$tekst);
$tekst = eregi_replace("<link>([^<]+)</link>","<a href=\"\\1\">\\1</a>",$tekst);
echo "$tekst";
?>

// Anders
Avatar billede henriklaursen Nybegynder
14. juli 2003 - 08:34 #8
tak for alle jeres svar.
pt. fandt jeg ahv's svar mest attraktiv..
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