Avatar billede krk Nybegynder
03. august 2006 - 18:24 Der er 12 kommentarer og
1 løsning

tekst editor kun med fed og link

Hej
Jeg har en textera box hvor brugeren skal kunne ændre teksten til "bold" og kunne lave et link.
Kan man gøre det fra en textera eller skal jeg have fat i en text editor?

Jeg har været på kig efter en gratis text editor men ikke fundet en jeg kan bruge.

Er der nogen der kan hjælpe??
Avatar billede well_r Nybegynder
03. august 2006 - 18:39 #1
skriv evt. hvordan du vil have det?
om det skal være sådan noget.. live-noget.. altså ligesom et word-dokument eller om det skal være et textarea hvor der står <b>fed skrift</b>, <link="http://exp.dk">Eksperten</link> osv?
Avatar billede krk Nybegynder
03. august 2006 - 20:34 #2
Det er nok det sidste jeg leder efter..måske.
Det er et mikro cms hvor brugeren skal kunne lave noget af teksten med fx. fed skrift. Men jeg vil ikke have en hel tekst editor med alle forskellige muligheder idet jeg mener det kan ødelægge designet hvis brugeren fx. begynder at skrive med rød tekst.
Idet det kun er de 2 funktioner (fed tekst og link)jeg skal bruge håbede jeg at det kunne laves i en textera - uden at brugeren behøvede at have noget kenskab til htlm
Avatar billede expnet Seniormester
04. august 2006 - 13:19 #3
krk -> har du fundet en løsning
Avatar billede krk Nybegynder
04. august 2006 - 13:36 #4
nej det har jeg desværre ikke endnu :-(
Avatar billede fojensen Nybegynder
04. august 2006 - 16:42 #5
Bruger selv noget lignende, og gør det med JavaScript...

Virker ved at bruger markerer tekst i textarea, og klikker på 'Fed skrift', og der indsættes <b> og </b> før og efter det markerede.
Noget lignende med links, men her lister jeg de sider op der kan linkes til ved siden af textarea. bruger markerer som før, og klikker på en af de links der kan linkes til, og den nødvendige kode bliver indsat i textarea.

Er du evt interesseret i js-scripts (har selv fået dem andetsteds fra, og tilrettet til eget brug).
Avatar billede krk Nybegynder
04. august 2006 - 20:40 #6
Det lyder som det jeg har brug for.
Så ja, jeg er interesseret i js-script :-)
Avatar billede fojensen Nybegynder
04. august 2006 - 23:11 #7
Hermed js-funktionerne (indeholder også funktion til punktopstilling og til link med mailto...
-----codes_in textarea.js-fil-----
function MakeBold(){
xT = document.selection.createRange();
sTxt = xT.text;
if(!sTxt.length > 0) { return( false); }
sidstetegn = xT.text.substring(xT.text.length, xT.text.length-1);
  if(sidstetegn == " ") {
  sTxt = xT.text.substring(0, xT.text.length-1); // uden sidste mellemrum
  xT.text = "<b>" + sTxt + "</b>"; // mellemrum tilføjes igen efter tilføjelse af kode
  } else {
  xT.text = "<b>" + sTxt + "</b>";
  }
}
function MakeList(){
xT = document.selection.createRange();
sTxt = xT.text;
if(!sTxt.length > 0) { return( false); }
sidstetegn = xT.text.substring(xT.text.length, xT.text.length-1);
  if(sidstetegn == " ") {
  sTxt = xT.text.substring(0, xT.text.length-1); // uden sidste mellemrum
  xT.text = "<li>" + sTxt + "</li> \n"; // mellemrum tilføjes igen efter tilføjelse af kode
  } else {
  xT.text = "<li>" + sTxt + "</li> \n";
  }
}
function MakeLink(LinkSide)
{
xT = document.selection.createRange();
sTxt = xT.text;
if(!sTxt.length > 0) { return( false); }
sidstetegn = xT.text.substring(xT.text.length, xT.text.length-1);
  if(sidstetegn == " ") {
  sTxt = xT.text.substring(0, xT.text.length-1); // uden sidste mellemrum
    if(LinkSide == 1) {
    xT.text = "<a href=\"http://havelykkegaarden.dk\" title=\"" + sTxt + "\">" + sTxt + "</a> "; // mellemrum tilføjes igen efter tilføjelse af kode
    } else {
    xT.text = "<a href=\"index.php?side_id=" + LinkSide + "\" title=\"" + sTxt + "\">" + sTxt + "</a> "; // mellemrum tilføjes igen efter tilføjelse af kode
    }
  } else {
    if(LinkSide == 1) {
    xT.text = "<a href=\"http://havelykkegaarden.dk\" title=\"" + sTxt + "\">" + sTxt + "</a>"; // mellemrum tilføjes igen efter tilføjelse af kode
    } else {
    xT.text = "<a href=\"index.php?side_id=" + LinkSide + "\" title=\"" + sTxt + "\">" + sTxt + "</a>"; // mellemrum tilføjes igen efter tilføjelse af kode
    }
  }
}
function MakeMailto(Email)
{
xT = document.selection.createRange();
sTxt = xT.text;
if(!sTxt.length > 0) { return( false); }
sidstetegn = xT.text.substring(xT.text.length, xT.text.length-1);
  if(sidstetegn == " ") {
  sTxt = xT.text.substring(0, xT.text.length-1); // uden sidste mellemrum
  xT.text = "<a href=\"mailto:" + Email + "\" title=\"send mail til " + Email + "\">" + sTxt + "</a> "; // mellemrum tilføjes igen efter tilføjelse af kode
  } else {
  xT.text = "<a href=\"mailto:" + Email + "\" title=\"send mail til " + Email + "\">" + sTxt + "</a>";
  }
}
-----/codes_in textarea.js-fil-----

knap til fed skrift laver funktionskaldet således:
$formular = "<!-- formular starter -->\n"
. "<b>Teksten:</b><br />\n"
. "<textarea name=\"tekst\" id=\"txttekst\" rows=\"16\" class=\"InputBox\" style=\"width:400px\"  title=\"Her skrives teksten\">$tekst</textarea><br />\n"
. "<input type=\"button\" value=\"Fed\" class=\"InputBox\" onClick=\"MakeBold()\">\n"
. "<input type=\"button\" value=\"Punktopstilling\" class=\"InputBox\" onClick=\"MakeList()\"> (Marker teksten først!)<br /><br />\n"
. "<input type=submit value=\"$knaptekst\" class=\"InputBox\" style=\"width:100px\" ><br />\n"
. "</form><br />\n"; // her slutter formular

Mit funktionskald til links ser sådan ud:
$link_til_insert = "<a href=\"#\" title=\"link til $menutekst\" onClick=\"MakeLink($id)\">$menutekst</a><br />\n";

Funktionskaldet til links indeholder altså i mit tilfælde en side-id der tilføjes som query-string, men det kunne ligeså godt være et filnavn. Håber du kan se systemet, og omskrive det, ellers spørg igen.
Avatar billede krk Nybegynder
05. august 2006 - 11:28 #8
Det ser fint ud. Jeg prøver at kigge på det.
Tak for hjælpen.
Avatar billede krk Nybegynder
07. august 2006 - 10:45 #9
Fojensen; har du tid til at hjælpe. Jeg får ikke vist min formular.

Fed.php ser sådan ud:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<SCRIPT LANGUAGE="JavaScript" SRC="textarea.js"></SCRIPT>
</head>
<body>
<?php
//knap til fed skrift laver funktionskaldet således:
$formular = "<form name='form1' method='post' action=''> \n"
. "<b>Teksten:</b><br />\n"
. "<textarea name=\"tekst\" id=\"txttekst\" rows=\"16\" class=\"InputBox\" style=\"width:400px\"  title=\"Her skrives teksten\">$tekst</textarea><br />\n"
. "<input type=\"button\" value=\"Fed\" class=\"InputBox\" onClick=\"MakeBold()\">\n"
. "<input type=\"button\" value=\"Punktopstilling\" class=\"InputBox\" onClick=\"MakeList()\"> (Marker teksten først!)<br /><br />\n"
. "<input type=submit value=\"$knaptekst\" class=\"InputBox\" style=\"width:100px\" ><br />\n"
. "</form><br />\n"; // her slutter formular

//Mit funktionskald til links ser sådan ud:
$link_til_insert = "<a href=\"#\" title=\"link til $menutekst\" onClick=\"MakeLink($id)\">$menutekst</a><br />\n";
?>

textarea.js:
har jeg ikke ændret noget på andet end jeg har fjernet alle kommentare
Avatar billede krk Nybegynder
07. august 2006 - 10:52 #10
glem det jeg har fundet ud af det. Jeg havde lige glemt en print ;-)
Avatar billede krk Nybegynder
07. august 2006 - 11:13 #11
Hvad bruger du title til i dit link? ( $link_til_insert = "<a href=\"#\" title=\"link til $menutekst\" onClick=\"MakeLink($id)\">$menutekst</a><br />\n";
)
Jeg har aldrig set det før!!
Avatar billede fojensen Nybegynder
07. august 2006 - 15:24 #12
skriv eksempelvis "indsæt link til forsiden" som titeltekst, og hold musen over linket, så ser du hvad den gør...
jeg bruger ordet $menutekst fordi i mit tilfælde cykler jeg min menu igennem (et array fra den includefil der laver menuen på hjemmesiden).
Avatar billede krk Nybegynder
07. august 2006 - 21:03 #13
okay, smart detalje ;-)
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