Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] podglad textarea
alpin
post 15.03.2004, 19:09:26
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


mam taki oto kod :

[php:1:b2451d3fa4]<?php
## Utworz plik rus.txt. Ten kod zapisz w pliku zmien.php ##

$akcja=$HTTP_GET_VARS['akcja'];

if ($akcja == "konwertuj")
{
$autor=$HTTP_POST_VARS['autor'];
$tresc=$HTTP_POST_VARS['tresc'];
if ($autor == '') { die ("Brak podpisu"); }
if ($tresc == '') { die ("Brak tresci."); }
$dowcip = ereg_replace("(rn|n|r)", "<br>", $dowcip);

$tresc = str_replace ( "j", "й", $tresc );
$tresc = str_replace ( "c", "ц", $tresc );
$tresc = str_replace ( "u", "у", $tresc );
$tresc = str_replace ( "k", "к", $tresc );
$tresc = str_replace ( "e", "е", $tresc );
$tresc = str_replace ( "n", "н", $tresc );
$tresc = str_replace ( "g", "г", $tresc );
$tresc = str_replace ( "z", "з", $tresc );
$tresc = str_replace ( "h", "х", $tresc );
$tresc = str_replace ( "f", "ф", $tresc );
$tresc = str_replace ( "y", "ы", $tresc );
$tresc = str_replace ( "w", "в", $tresc );
$tresc = str_replace ( "a", "а", $tresc );
$tresc = str_replace ( "p", "п", $tresc );
$tresc = str_replace ( "r", "р", $tresc );
$tresc = str_replace ( "o", "о", $tresc );
$tresc = str_replace ( "l", "л", $tresc );
$tresc = str_replace ( "d", "д", $tresc );
$tresc = str_replace ( "s", "с", $tresc );
$tresc = str_replace ( "m", "м", $tresc );
$tresc = str_replace ( "i", "и", $tresc );
$tresc = str_replace ( "t", "т", $tresc );
$tresc = str_replace ( "b", "б", $tresc );
// brakuje jeszcze pare literek ..

# $tablica = array("w", "q");
# $tablica2 = array("ц","й");

# zapisywanie do pliku
$f=fopen("rus.txt","r+");
$tresc_pliku = fread($f, filesize("rus.txt"));
fclose ($f);
$f=fopen("rus.txt","w+");
fwrite($f, "$autor|||$trescn".$tresc_pliku);
fclose ($f);

echo "Dodano<br><a href=zmien.php?akcja=pokaz>Pokaz wpisy</a><br><a
href=zmien.php>Dodaj wpis</a>";

$fd = fopen ("rus.txt", "r+");
while (!feof ($fd)) {
$tmp = fgets ($fd);
$tmp= explode ('|||', $tmp);
echo "<center>autor: $tmp[0] <br>wpis: $tmp[1] <br><hr><br></center>"; }
fclose ($fd);
echo "<center><br><a href=zmien.php>Dodaj wpis</a></center>";

}
elseif ($akcja == "pokaz")
{

echo "<center><a href=zmien.php>Dodaj wpis</a><br><br></center>";
$fd = fopen ("rus.txt", "r+");
while (!feof ($fd)) {
$tmp = fgets ($fd);
$tmp= explode ('|||', $tmp);
echo "<center>autor: $tmp[0] <br>wpis: $tmp[1] <br><hr><br></center>"; }
fclose ($fd);
echo "<center><br><a href=zmien.php>Dodaj wpis</a></center>";
} else {
echo "<a href=zmien.php?akcja=pokaz>Pokaz wpisy</a><br>
<form method=post action=zmien.php?akcja=konwertuj>
<table align=center>
<tr><td>Autor:</td><td><input name=autor maxlength=20></td></tr>
<tr><td>Tresc:</td><td><textarea name=tresc cols=100 rows=10></textarea></td></tr>
<tr align=center><td></td><td align=center><input align=center type=submit
value=Dodaj name=wyslij ></td></tr></table>
</form>";

### brakujaca czesc kodu ###

# tu ma sie wyswietlac sformatowana pisana aktualnie $tresc

echo "<table align=center>
<tr><td>Podglad:</td><td><textarea name=tresc cols=100 rows=10
value=cos></textarea></td></tr>
</table>";

### koniec brakujacej czesci kodu ###
}


?>[/php:1:b2451d3fa4]
moze ktos wie jak zrobic by piszczac w jednym polu to w drugim wyswietlalo sie, taki podglad ..
z gory dziekuje za pomoc
Go to the top of the page
+Quote Post
Vir
post 15.03.2004, 20:23:42
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 25.02.2004

Ostrzeżenie: (0%)
-----


Nie wnikając w kod, który podałeś (śpieszę się bo mam dobry film do obejrzenia biggrin.gif ) napisałem coś takiego:

[xml:1:032fda28de]<script type="text/javascript">
function aktualizuj() {
document.test.podglad.value = document.test.tresc.value;
}
</script>[/xml:1:032fda28de]

[xml:1:032fda28de]<form name="test">
<textarea name="tresc" rows="4" cols="33" onKeyDown="aktualizuj()" onKeyPress="aktualizuj()"></textarea>

<textarea name="podglad" rows="4" cols="33" readonly style="background-color: #dcdcdc"></textarea>
</form>[/xml:1:032fda28de]
Go to the top of the page
+Quote Post
alpin
post 15.03.2004, 21:11:13
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


OK ! dzieki. polowa sukcesu juz jest smile.gif
a teraz jak jeszcze zrobic zeby w podgladzie byl text po "przejsciach " z $tresc = str_replace ( "j", "й", $tresc );
Go to the top of the page
+Quote Post
zalew
post 15.03.2004, 22:44:24
Post #4





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

Ostrzeżenie: (0%)
-----


php dziala na serwerze... zrob to co zorbiles w php w javascripcie to bedziesz mial po stronie przegladarki... albo przeladowuj strone ale to raczej nie zdrowe piszac tekst zeby po kazdej literze ci sie jakis iframe przeladowywyal.. przepisz to na js...


--------------------
Go to the top of the page
+Quote Post
alpin
post 15.03.2004, 22:56:01
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


tylko w tym problem ze nie wiem jak to przepisac w jave , dzis ze tak powiem to moje pierwsze zetkniecie z java bo tylko ona sie chyba tutaj nadawala, wiec bylbym wdzieczny za przyklad jak to podmieniac/zrobic/przerobic
Go to the top of the page
+Quote Post
Vir
post 17.03.2004, 20:35:03
Post #6





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 25.02.2004

Ostrzeżenie: (0%)
-----


Cytat
jak jeszcze zrobic zeby w podgladzie byl text po "przejsciach " z $tresc = str_replace ( "j", "й", $tresc );


No chłopie, mam nadzieję, że będziesz zadowolony z tego co napisałem bo miałem w tym czasie uczyć się do egzaminu ;-)

[php:1:c4f6b07a05]<script type="text/javascript">
// Conversion script
// Code by Vir (white-house@wp.pl)
// Please leave this comment intact :-)

function aktualizuj() {
window.podglad.innerHTML = przekonwertowane();
}

function przekonwertowane() {

znak = new Array(22);
znak[0] = /j/g
znak[1] = /c/g
znak[2] = /u/g
znak[3] = /k/g
znak[4] = /e/g
znak[5] = /n/g
znak[6] = /g/g
znak[7] = /z/g
znak[8] = /h/g
znak[9] = /f/g
znak[10] = /y/g
znak[11] = /w/g
znak[12] = /a/g
znak[13] = /p/g
znak[14] = /r/g
znak[15] = /o/g
znak[16] = /l/g
znak[17] = /d/g
znak[18] = /s/g
znak[19] = /m/g
znak[20] = /i/g
znak[21] = /t/g
znak[22] = /b/g

konw = new Array(22);
konw[0] = "й"
konw[1] = "ц"
konw[2] = "у"
konw[3] = "к"
konw[4] = "е"
konw[5] = "н"
konw[6] = "г"
konw[7] = "з"
konw[8] = "х"
konw[9] = "ф"
konw[10] = "ы"
konw[11] = "в"
konw[12] = "а"
konw[13] = "п"
konw[14] = "р"
konw[15] = "о"
konw[16] = "л"
konw[17] = "д"
konw[18] = "с"
konw[19] = "м"
konw[20] = "и"
konw[21] = "т"
konw[22] = "б"

tab = new Array();

var text = document.test.tresc.value;

for (var i=0; i < konw.length; i++) {

tab[0] = text.replace(znak[0], konw[0]);
tab[i+1] = tab[i].replace(znak[i+1], konw[i+1]);
}

return tab[konw.length];

}

</script>[/php:1:c4f6b07a05]

[xml:1:c4f6b07a05]<form name="test">
<textarea name="tresc" rows="4" cols="33" onKeyUp="aktualizuj()" onKeyPress="aktualizuj()"></textarea>
<div id="podglad"></div>
</form>[/xml:1:c4f6b07a05]

Tabela "znak" zawiera wyrażenia regularne z poszczególnymi znakami, które mają być przekonwertowane. Dzięki użyciu wyrażeń regularnych skrypt zmienia każdy określony znak, gdziekolwiek się pojawi. Tabela "konw" jest tabelą równoległą i zawiera symbole, na które mają być przekonwertowane znaki.
Drugie textarea zniknęło ponieważ w textarea może znaleźć się tylko text. Symbole podane w tabeli "konw" są interpretowane i prawidłowo wyświetlane jedynie jeżeli znajdują się w kodzie html. W tym celu użyłem div-a i funkcji .innerHTML.

Ps.
Zauważ, że okKeyDown zmieniłem na onKeyUp - nie ma "opóźnień".

Ps.
Na IE 6.0 działa bez zarzutu - nawet sprawdziłem wszystkie litery :-)
W razie kłopotów odwiedzę ten topic dopiero w niedzielę - uczę się do egzaminu aaevil.gif - czemu wybrałem zarządzanie, a nie informatykę :cry: ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 19:37