Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP+JS]Przeksztalcanie do html
Forum PHP.pl > Forum > Przedszkole
marcio
Witam jako ze js znam bardzo slabo a chce zrobic taki maly bajer a wiec mam form'a i w nim textarea wpisuje tam tresc posta a pod tym textarea chce miec drugi ktory bedzie przektalcal znaczniki bbcoda na html i mam taka funckje
  1. <?php
  2. echo('<script>
  3. function filter(newc)
  4. {
  5. newc = newc.replace(/  /gi, "&nbsp;&nbsp;&nbsp;");
  6. newc = newc.replace(/</gi, "<");
  7. newc = newc.replace(/>/gi, ">");
  8. newc = newc.replace(/\n/gi, "<br>");
  9.  
  10. // BBcode
  11. newc = newc.replace(//gi, "<b>");
  12. newc = newc.replace(//gi, "</b>");
  13. newc = newc.replace(//gi, "<i>");
  14. newc = newc.replace(//gi, "</i>");
  15. newc = newc.replace(/[ins]/gi, "<ins>");
  16. newc = newc.replace(/[/ins]/gi, "</ins>");
  17. newc = newc.replace(/[big]/gi, "<big>");
  18. newc = newc.replace(/[/big]/gi, "</big>");
  19. newc = newc.replace(/[small]/gi, "<small>");
  20. newc = newc.replace(/[/small]/gi, "</small>");
  21. newc = newc.replace(/[del]/gi, "<del>");
  22. newc = newc.replace(/[/del]/gi, "</del>");
  23. newc = newc.replace(/[code]/gi, "<br>");
  24. newc = newc.replace(/[/code]/gi, "</p>");
  25.  
  26. newc = newc.replace(/(http|shhtp|ftp|news)(://)([^ ]*)/gi, "<a href="$1$2$3">[url]</a> ");
  27.  
  28. return newc;
  29. }
  30.  
  31. function show(chars, a, b)
  32. {
  33. box = document.getElementById(a);
  34. code = document.getElementsByName(b);
  35.  
  36. box.innerHTML = filter(chars.value);
  37. code[0].value = box.innerHTML;
  38. }
  39. </script>');
  40. //to jest form
  41. echo('<form id="html" method="post" name="tagi" action="'.$_SERVER['PHP_SELF'].'?kategoria='.$_GET['kategoria'].'&cid='.$_GET['cid'].'&tid='.$_GET['tid'].'&autor='.$_GET['autor'].'&tytul_topic='.$_GET['tytul_topic'].'">
  42. <center><textarea name="tresc" rows="12" cols="80" maxlenght="1200" onkeyup="zliczaj_znaki(this.form)" onkeydown="zliczaj_znaki(this.form)" onkeyup="show(this, "html", "html_code");" style="background-color:#ECECEC; color:#000000; border: 1px solid red;">Tresc posta</textarea></center>
  43. <b>Kod html:</b><Br>
  44. <center><textarea id="html" name="html_code" rows="7" cols="40" style="background-color:#ECECEC; color:#000000; border: 1px solid red;" readonly></textarea></center>
  45. </form>');
  46. ?>

I cos nie dziakla ogolnie bylbym wdzieczny jak ktos pokarze co robie zle i jeszcze jedno czy w jednym textarea moga byc 2 zdarzenia onkeyup bo jeden ma zliczac znaki a drugi podac kod html?

To jak pomoze ktos?

questionmark.gif?
lord_t
Nie chciało mi się tego wkładać w php , dla uproszczenia też wyjąłem to z php.

Zmieniłem ciało funkcji:
Kod
function show(chars, a, b)
{
    box = document.getElementById(a);
    code = document.getElementById(b);

    box.innerHTML = filter(chars.value);
    code.value = box.innerHTML;
}


a tak zmieniłem form:
  1. <form method="post" name="tagi" action="szha2.php">
  2. <textarea id="html" rows="12" cols="80" maxlenght="1200" onkeyup="zliczaj_znaki(this.form);show(this,'html','html_code');" onkeydown="zliczaj_znaki(this.form)" style="background-color:#ECECEC; color:#000000; border: 1px solid red;"></textarea>
  3. <b>Kod html:</b><Br>
  4. <textarea id="html_code" rows="7" cols="40" style="background-color:#ECECEC; color:#000000; border: 1px solid red;" readonly>
  5. </form>


Co do łączenia onkeyup => zobacz w powyższym kodzie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.