html tags в textarea

12 отговора 533 прегледа
#1

html tags в textarea

имам textarea, в която има някакъв текст+хтмл тагове. Искам тия тагове да ги осветя. Например:

ala bala ala bala ala bala ala bala



е тия бр-та как да ги направя зелени?

:: No one lives forever ::

Отговор
в отговор на SEAL #2

Re: html tags в textarea

Pri samoto pisane li da stava ili koga?

[линк]
Списание за Web технологии
Отговор
в отговор на Magellan #3

Re: html tags в textarea

да кажем, че имаш един прост хтмл и в него има textarea в която по default имаш некъв текст с малко хтмл тагове. Та може ли тея тагове да са в някакъв цвят

:: No one lives forever ::

Отговор
в отговор на SEAL #4

Re: html tags в textarea

мммм, текстареа има склонността да отменя действието на таговете. Т.е. каквото е в техтареа си излиза както е, докато не се затвори текстареата. Така че каквото и да прилагаш като таг или стил за да оцветиш таговете, не мисля че може да стане.
Освен ако някой няма друга идея.

--
Ела в мафията
Отговор
в отговор на SEAL #5

Re: html tags в textarea

отиди [линк]

user: test
pass: test

избираш "напиши"

нещо такова ли ти требе ?

Отговор
в отговор на SEAL #6

Re: html tags в textarea

Ето тук една леко дърварска идея, съвсем набързо съчинена :


<HTML>
<HEAD>
<TITLE> Text Area </TITLE>
<script language="JavaScript">
<!--
function InfoTxtMng(){
var TagBegin="<";
var TagEnd=">";
var FictTagBegin="&лт;";
var FictTagEnd="&гт;";
var ColorBegin="<font color=\"#008800\">";
var ColorEnd="<\/font>";

eval("var TagBeginRExp=/"+TagBegin+"/g");
eval("var TagEndRExp=/"+TagEnd+"/g");
eval("var FictTagBeginRExp=/"+FictTagBegin+"/g");
eval("var FictTagEndRExp=/"+FictTagEnd+"/g");

var ITContents=document.TForm.InfoTxt.value.toString();
var L1ITContents=ITContents.replace(TagBeginRExp,FictTagBegin);
var L2ITContents=L1ITContents.replace(TagEndRExp,FictTagEnd);
var L3ITContents=L2ITContents.replace(FictTagBeginRExp,(ColorBegin+FictTagBegin));
var L4ITContents=L3ITContents.replace(FictTagEndRExp,(FictTagEnd+ColorEnd));
// document.TForm.outerHTML="";
document.getElementById("ActIFr").style.visibility="visible";
document.frames("ActIFr").document.body.innerHTML=L4ITContents;
}
//-->
</script>
</HEAD>

<BODY>
<form name="TForm">
<textarea rows="30" cols="72" name="InfoTxt"></textarea>

<input type="buttom" value="COLORIZE TAGS" onclick="InfoTxtMng()" id="ColorButton">
</form>
<iframe id="ActIFr" width="50%" frameborder="1" scrolling="yes" style="visibility: visible"></iframe>
</BODY>
</HTML>



var FictTagBegin="&лт;";
var FictTagEnd="&гт;";

тези ти ги написах така, щото форума ги интерпретира като < и >
оправи си ги на латиница в кода....



Тъй като textarea не може да има различни цветове вътре (тя интерпретира всякакви tags като чист текст), единственото, за което се сетих е да вадиш резултата от оцветяването в нещо друго - примерно iframe...

Общо взето това е само първоначална идея за размисъл
от тук натаък можеш да си правиш разни гимнастики: примерно да разкарваш textarea-та (коментираният ред в скрипта) и на нейно място да показваш iframe-то и т.н.

Могат да се направят и още козметики, като примерно да се реплейснат подходящо enter-ите и tab-овете от входния стринг, за да бъде подреден както трябва изхода и т.н....

Абе това си е едно съвсем базово решение и то едва ли най-елегантното - дано да ти е от някаква полза....



PS: btw, докато пишех това, съвсем случайно открих, че тук във форума <бр>
работи (писах го на кирилица по обясними причини ). Не знам дали сте забелязвали - аз не бях



Редактирано от Byd™ на

Отговор
в отговор на mbtutu #7

Re: html tags в textarea

мда, нещо такова, но не с толкова опции (align, list и т.н.) както и без възможост потребителя да задава цветовете, а аз да съм ги задал предварително и така да се появяват винаги

явно няма да стане с прост хтмл, но ако има решение с пхп или js...

:: No one lives forever ::

Отговор
в отговор на SEAL #8

Re: html tags в textarea


<html>
<body>

<script language="JavaScript">
bodyTag="<BODY bgcolor=#ffffff MONOSPACE STYLE=\"font:10pt arial,sans-serif\">"

function formatC(what,opt) {
if (opt=="removeFormat") {
what=opt;
opt=null;
}
if (opt==null) Composition.document.execCommand(what);
else Composition.document.execCommand(what,"",opt);
pureText = false;
Composition.focus();
}

</script>


<select id="FontColor" language="javascript" onChange="formatC('forecolor',this[this.selectedIndex].value);this.selectedIndex=0";>
<option selected>цвят
<option value="red">червено
<option value="blue">синьо
<option value="green">зелено
<option value="black">черно
</select>

<iframe class="Composition" width="100%" id="Composition" height="190"></iframe>
<script><!--
Composition.document.open();
Composition.document.write(bodyTag);
Composition.document.close();
Composition.document.designMode="On";
// -->
</script>

<input type=hidden name=body>

</body>
</html>


Отговор
в отговор на SEAL #9

10x 2 all - empty posting

.

:: No one lives forever ::

Отговор
в отговор на SEAL #10

Re: html tags в textarea

interesno, ...
a pishesh li w tazi textarea?
t.e, dawash li wazmozhnost da se promenia sudurzhanieto na textareata?

shtoto, ako e samo za pokazwane, izobsto ne ti e neobhodima ... textarea..

Отговор
в отговор на desertwaste #11

Re: html tags в textarea

да, може да се променя

:: No one lives forever ::

Отговор
в отговор на Byd™ #12

Re: html tags в textarea

ами да, аз забелязх съвсем случайно като постнах първия message

:: No one lives forever ::

Отговор
в отговор на SEAL #13

Re: html tags в textarea

най-елегантния и читав начин е java applet/флаш, който да ти играе роля на текстареа и скрито поле, което да праща данните;

поне така мисля, на база скромния си опит.

или чакаш нов стандарт и нови браузъри, а и юзърите да започнат да ги ползват....

така де,...

Отговор