Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: generator stron www
Forum PHP.pl > Forum > PHP
dexter_m
Witam!
Napisałem bardzooo prosty generator stron www. (pozwala osobie nie znającej HTML zrobić sobie stronę www). Opiera się on na dwóch plikach : index.html oraz ob_generatora.php.

Oto ich źródła:

index.html

  1. <meta http-equiv="Content-type" content="text/html; charset=windows-1250">
  2. <meta http-equiv="Reply-to" content="dexter_m@o2.pl">
  3. <meta name="Author" content="Juri <www.juri.za.pl>">
  4. <title>Generator stron www &nbsp;&nbsp;Copyright by Juri &copy;</title>
  5. </head>
  6.  
  7. <!--BEGIN BODY-->
  8.  
  9. <body bgcolor="#eeeeee">
  10. <!--Copyright by juri <dexter_m@o2.pl> | <www.juri.za.pl>-->
  11. <!--Generator stron www-->
  12.  
  13. <center><h4><font color="#bbbbbb">.:: Generator stron www ::.</font></h4></center>
  14. <form action="ob_generator.php">
  15. <pre>
  16. <!--BODY-->
  17. <font color="#aaaaaa"><li><b>Body</b></font>
  18. Kolor tła: <select name="kolor_tla">
  19. <option value="white">Domyślny (white)</option>
  20. <option value="red">Czerwony</option>
  21. <option value="green">Zielony</option>
  22. <option value="blue">Niebieski</option>
  23. <option value="brown">Brązowy</option>
  24. <option value="orange">Pomarańczowy</option>
  25. <option value="gray">Szary</option>
  26. <option value="yellow">Żółty</option>
  27. <option value="white">Biały</option>
  28. <option value="silver">Srebrny</option>
  29. <option value="gold">Złoty</option>
  30. </select>
  31. L margines: <input type="text" name="lmargines" value="Wartość liczbowa" onClick="value=''" size="18">
  32. P margines: <input type="text" name="pmargines" value="Wartość liczbowa" onClick="value=''" size="18">
  33. <!--TEKST-->
  34. <font color="#aaaaaa"><li><b>Tekst</b></font>
  35. <b>Pogrubienie tekstu</b> <input type="checkbox" name="pogrubienie">
  36. <i>Pochylenie tekstu</i> <input type="checkbox" name="pochylenie">
  37. <u>Podkreślenie tekstu</u> <input type="checkbox" name="podkreslenie">
  38. <s>Przekreślenie tekstu</s> <input type="checkbox" name="przekreslenie">
  39. <b style="text-decoration: overline; font-size:18">Nadkreślenie tekstu</b> <input type="checkbox" name="nadkreslenie" >
  40. <!--BEGIN SELECT TLO-->
  41. Kolor tekstu: <select name="kolor_tekstu">
  42. <option value="white">Domyślny &nbsp;(white)</option>
  43. <option value="red">Czerwony</option>
  44. <option value="green">Zielony</option>
  45. <option value="blue">Niebieski</option>
  46. <option value="brown">Brązowy</option>
  47. <option value="orange">Pomarańczowy</option>
  48. <option value="gray">Szary</option>
  49. <option value="yellow">Żółty</option>
  50. <option value="black">Czarny</option>
  51. <option value="silver">Srebrny</option>
  52. <option value="gold">Złoty</option>
  53. </select>
  54. Kroj czcionki: <select name="kroj_czcionki">
  55. <option value="arial">Domyślna (Arial)&nbsp;&nbsp;</option>
  56. <option value="verdena">Verdena</option>
  57. <option value="impact">Impact</option>
  58. <option value="comic">Comic Sans MS</option>
  59. </select>
  60.  
  61. Nagłówek: <input type="text" value="Tu wpisz nagłówek strony" onClick="value=''" name="nagluwek" size= 27>
  62.  
  63. <textarea rows="10" cols="35" name="tekst">
  64. Tu wpisz tekst który ma się pojawić na twojej stronie.
  65.  
  66.  
  67. <font color="#aaaaaa"><li><b>Obraz</b></font>
  68. Importuj obraz:<input type="file" name="file">
  69. <br>
  70. <br>
  71. <table border="1" bordercolor="#aaaaaa">
  72. <td>
  73. <input type="submit" value="Generuj!" name="generuj">&nbsp;&nbsp;<input type="reset" value="Resetuj!" name="resetuj">&nbsp;&nbsp;<input type="button" value="Informacje" name="Info">&nbsp;&nbsp;<input type="button" value="O Autorze" name="oautorze">&nbsp;&nbsp;<a href="http://www.juri.za.pl"><input type="button" value="Web Page" name="webpage"></a>&nbsp;&nbsp;<a href="mailto:dexter_m@o2.pl"><input type="button" value="E-mail" name="email"></a>
  74. </td>
  75. </table>
  76.  
  77.  
  78. </pre>
  79. </form>
  80. <br>
  81. <br>
  82.  
  83. <!--STOPKA-->
  84. <center><h6><font color="#aaaaaa">Program zaprojektował i napisał - </font><a href="mailto:dexter_m@o2.pl"><font color="#cccccc">Juri</font></a></h6></center>
  85.  
  86. </body>
  87. </html>


oraz drugi plik ob_generatora.php

  1. <?php
  2. //script by Juri <dexter_m@o2.pl> <www.juri.za.pl>
  3.  
  4. if ($kolor_tla==black) {echo&#092;"<body bgcolor='black'></body>\";}
  5. if ($kolor_tla==red) {echo&#092;"<body bgcolor='red'></body>\";}
  6. if ($kolor_tla==green) {echo&#092;"<body bgcolor='green'></body>\";}
  7. if ($kolor_tla==blue) {echo&#092;"<body bgcolor='blue'></body>\";}
  8. if ($kolor_tla==brown) {echo&#092;"<body bgcolor='brown'></body>\";}
  9. if ($kolor_tla==orange) {echo&#092;"<body bgcolor='orange'></body>\";}           //KOLORY TLA
  10. if ($kolor_tla==gray) {echo&#092;"<body bgcolor='gray'></body>\";}
  11. if ($kolor_tla==yellow) {echo&#092;"<body bgcolor='yellow'></body>\";}
  12. if ($kolor_tla==white) {echo&#092;"<body bgcolor='white'></body>\";}
  13. if ($kolor_tla==gold) {echo&#092;"<body bgcolor='gold'></body>\";}
  14. if ($kolor_tla==silver) {echo&#092;"<body bgcolor='silver'></body>\";}
  15.  
  16. if ($kolor_tekstu==black) {echo&#092;"<body text='black'></body>\";}
  17. if ($kolor_tekstu==red) {echo&#092;"<body text='red'></body>\";}
  18. if ($kolor_tekstu==green) {echo&#092;"<body text='green'></body>\";}
  19. if ($kolor_tekstu==blue) {echo&#092;"<body text='blue'></body>\";}
  20. if ($kolor_tekstu==brown) {echo&#092;"<body text='brown'></body>\";}
  21. if ($kolor_tekstu==orange) {echo&#092;"<body text='orange'></body>\";}           //KOLORY TEKSTU
  22. if ($kolor_tekstu==gray) {echo&#092;"<body text='gray'></body>\";}
  23. if ($kolor_tekstu==yellow) {echo&#092;"<body text='yellow'></body>\";}
  24. if ($kolor_tekstu==white) {echo&#092;"<body text='white'></body>\";}
  25. if ($kolor_tekstu==gold) {echo&#092;"<body text='gold'></body>\";}
  26. if ($kolor_tekstu==silver) {echo&#092;"<body text='silver'></body>\";}
  27.  
  28. echo &#092;"<br><br>\";
  29. echo &#092;"<center>$nagluwek</center>\";                                      //NAGLOWEK
  30. echo &#092;"<br><br>\";
  31.  
  32. echo &#092;"<body leftmargin='$lmargines' rightmargin='$pmargines'>\";        //MARGINESY
  33.  
  34. if (!empty($pogrubienie)) {echo '<style type=\"text/css\">body {font-weight: bold}</style>';}
  35. if (!empty($pochylenie)) {echo '<style type=\"text/css\">body {font-style: italic}</style>';}
  36. if (!empty($podkreslenie)) {echo '<style type=\"text/css\">body {text-decoration: underline}</style>';}      //OBROBKA TEKSTU
  37. if (!empty($przekreslenie)) {echo '<style type=\"text/css\">body {text-decoration: line-through}</style>';}
  38. if (!empty($nadkreslenie)) {echo '<style type=\"text/css\">body {text-decoration: overline}</style>';}
  39.  
  40.  
  41. switch ($kroj_czcionki) {
  42. case &#092;"arial\":
  43. echo '<style type=\"text/css\">body {font-family:arial}</style>';
  44. break;
  45. case &#092;"verdena\";
  46. echo '<style type=\"text/css\">body {font-family:verdena}</style>';
  47. break;
  48. case &#092;"impact\";
  49.  
  50. echo '<style type=\"text/css\">body {font-family:impact}</style>';
  51. break;                                                                                //TYP CZCIONKI
  52. case &#092;"comic\";
  53. echo '<style type=\"text/css\">body {font-family:Comic Sans MS}</style>';
  54. break;
  55. default:
  56. echo '';
  57. break;
  58. }
  59.  
  60. echo &#092;"<center>$tekst</center>\";
  61. echo &#092;"<br><br>\";
  62.  
  63. echo &#092;"<img src='$file'>\";
  64.  
  65. ?>


Dobrze, teraz pytanka.

Ten generator oprócz tego że jest "goły" w funkcje (posiada ich bardzo mało) to ma jedną bardzo poważną wadę, której chciałbym się pozbyć. Mianowicie formatowanie tekstu (pogrubienie, pochylenie, kolor, czcionka itp.) odnosi się do całej strony. A mi zależy na tym aby formatowanie tekstu przebiegało tak jak podczas pisania tematów na tym forum. Czyli że ja wybieram co ma być pogrubione i co najważniejsze w którym momencie tekst ten ma być pogrubiony, mieć kolor czerwony itd.

Drugą, już znacznie mniej ważną wadą, może nie wadą - błędem którego nie mogę znaleźć to jest, że w drugim pliku (ob_generatora.php) zamiesciłem instrukcję switch no i ona nie chce działać. Jednak najważniejszym jest jest opisana wyżej pierwsza wada tego generatora.

Mam nadzieję że mogę liczyć na waszą pomoc.
Pozdrawiam, Dexter.

PS. Jeśli złe forum to proszę przenieść. Jestem tu nowy więc za bardzo nie riętuję się w sytuacji.
maxer
użyj bbcode do tego smile.gif
tutaj masz wiecej: http://bbcode.strefaphp.net/
dexter_m
Wiesz co, fajny generator. Ale w tym linku nie znalazłem odpowiedzi na moje pytanie. Proszę o pomoc. Nie mogę pojąc tego bbcode, nie wiem jak go trzeba wykorzystać np

Cytat
Pogrubiony tekst
Opcja zamieniająca tekst umieszczony między znacznikami [/b] na pogrubiony 

Zastosowanie:
[b]Przyklad

Przyklad 

Kod php (3 lini):

<?php
$str = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $str);
?>


i nie wiem co ja sobie mam z tym zrobić.
Jeszcze raz:
Cytuję o co mi chodziło:

Cytat
Ten generator oprócz tego że jest "goły" w funkcje (posiada ich bardzo mało) to ma jedną bardzo poważną wadę, której chciałbym się pozbyć. Mianowicie formatowanie tekstu (pogrubienie, pochylenie, kolor, czcionka itp.) odnosi się do całej strony. A mi zależy na tym aby formatowanie tekstu przebiegało tak jak podczas pisania tematów na tym forum. Czyli że ja wybieram co ma być pogrubione i co najważniejsze w którym momencie tekst ten ma być pogrubiony, mieć kolor czerwony itd.


i czekam na waszą pomoc. sad.gif
aleksander
1. zainteresuj się FCKEditor.
2. załóż sobie konto na www.epuls.pl i w swoim profilu wyedytuj swóje powitanie czy jak to tam się nazywa. Jest tam prosty edytor HTML, może Ci rozjaśni sytuacje, tyle, że jest on w JS a nie php.

pozdr
dexter_m
Kurcze, nie zrozumieliście mnie. To nie ja mam korzystać z tego edytora tylko ja mam go napisać.

No właśnie. Chciałbym stworzyć coś takiego jak ten FCKeditor. Tylko nie wiem jak sad.gif Czy ten FCKeditor jest napisany w php, gdzie znajdę jego kod źródłowy (o ile wogóle jest on udostępniony) questionmark.gif?
aleksander
no jasne że jest winksmiley.jpg na ich stronie poszukaj w google, a to jest napisane w js z tego co wiem:)
dexter_m
kurcze, js odpada. Za mało potrafię JavaScript. W grę wchodzą tylko edytory zrobioe w php.
wolguy
A nie możesz zrobic tak jak jest na tym forum?
Np. robisz INPUT o VALUE="[b]", wtedy javascript wstawia to ( [b] ) do TEXTAREA (taki javascript skopiuj np. stąd biggrin.gif) a potem funkcją w php przeszukujesz tekst i zamieniasz [b] na <B> itd.
dexter_m
wolguy

Cytat
A nie możesz zrobic tak jak jest na tym forum?


No właśnie od początku chciałem tak zrobić, ja napisałem:

Cytat
Ten generator oprócz tego że jest "goły" w funkcje (posiada ich bardzo mało) to ma jedną bardzo poważną wadę, której chciałbym się pozbyć. Mianowicie formatowanie tekstu (pogrubienie, pochylenie, kolor, czcionka itp.) odnosi się do całej strony. A mi zależy na tym aby formatowanie tekstu przebiegało tak jak podczas pisania tematów na tym forum. Czyli że ja wybieram co ma być pogrubione i co najważniejsze w którym momencie tekst ten ma być pogrubiony, mieć kolor czerwony itd.


No.., trudno, czytanie ze zrozumieniem to podstawa a słowa:
Cytat
A mi zależy na tym aby formatowanie tekstu przebiegało tak jak podczas pisania tematów na tym forum.
nie są napisane jakimś tajemnym szyfrem. Jedyny wolguy zrozumiał o co mi chodzi.

mógłbyś mi dać jeden taki przykład, bo z input z value nie będzie problemu ale gorzej z JavaScript. Proszę o jeden mały przykład (fragment kodu).
ActivePlayer
hmm....
  1. <input type=button value ="B"
  2. onclick="document.getElementById('twojInput').value = document.getElementById('twojInput').value + '[b]'">
  3.  
  4. <input type="text" id="twojInput">


ale to nei forum o js.

w phpie musisz potem taki tekst z bb codem zamienic na tagi htmla... na forum znajdziesz bardzo dobry skrypt do konwersji bb code.

i moze proponuje zmienic podejscie... co z tego ze nie znasz js. kiedys trzeba poznac. a z zainstalowaniem jakiegos edytora graficznego online nei powiniennes miec problemu.
wolguy
Na podstawie tego, co napisał ActivePlayer:

  1. <P>
  2. <input type=button value ="rozpocznij pogrubienie " STYLE="font-size: 10px;"
  3. onclick="document.getElementById('twojInput').value = document.getElementById('twojInput').value + '[b]'">
  4.  
  5. <input type=button value ="zakończ pogrubienie " STYLE="font-size: 10px;"
  6. onclick="document.getElementById('twojInput').value = document.getElementById('twojInput').value + '[/b]'">
  7. </P>
  8.  
  9. <P><TEXTAREA neme="pole" id="twojInput" STYLE="Width: 350px; height: 120px;"></TEXTAREA></P>



i potem odczytujesz zawartość POST z "pole" i funcją np. str_replace zamieniasz [b] na <B> itd.
dexter_m
Wielkie dzięki wam obu. Tylko troche niejasny jest dla mnie ten BB Code. Byłem na jego stronie no jedyne co z niej się dowiedziałem to że jest to jakiś generator.
Wybierzasz znaczniki no i on coś na php i/lub Js zmienia. Nie wiem o co chodzi. Może mi ktoś rozjaśnić umysł?
ActivePlayer
http://forum.php.pl/index.php?showtopic=13425
dexter_m
Ten link prowadzi do funkcj napisanej przez jakiegoś gościa z kodami bbcode.
Ale ja właśnie nie wiem do czego służy ten bbcode. sad.gif A co najważniejsze nie wiem jak z niego korzystać sad.gif
ActivePlayer
bb code działa tak:

zamienia na <b>, na </b> itd...
dexter_m
Dobra, chyba już rozumiem. tongue.gif
To już ostatnie pytanko - do czego służy funkcja getElementById() w jS.

Mam coś takiego:

  1. <form action="gen.php">
  2. <P>
  3. <input type=button value ="" onclick="document.getElementById('<b>').value = document.getElementById('<b>').value + '[b]'">
  4.  
  5. <input type=button value ="" onclick="document.getElementById('<b>').value = document.getElementById('<b>').value + '[/b]'">
  6. </P>
  7.  
  8. <P><TEXTAREA name="pole" id="<b>" STYLE="Width: 350px; height: 120px;"></TEXTAREA></P>
  9. <input type="submit" value="Wyślij!">
  10. </form>


i mi nie działa, dlaczego? sad.gif

P.S sorki że zadaję, (dla was) takie banalne pytania ale się dopiero uczę.
Liczę na waszą wyrozumiałość.
wolguy
ale co nie działa? bo formularz jest ok...
dexter_m
Czy jesteś cłkowicie pewny że to jest dobrze??

  1. <form action="gen.php">
  2. <P>
  3. <input type=button value ="" onclick="document.getElementById('<b>').value = document.getElementById('<b>').value + '[b]'">
  4.  
  5. <input type=button value ="" onclick="document.getElementById('<b>').value = document.getElementById('<b>').value + '[/b]'">
  6. </P>
  7.  
  8. <P><TEXTAREA name="pole" id="<b>" STYLE="Width: 350px; height: 120px;"></TEXTAREA></P>
  9. <input type="submit" value="Wyślij!">
  10. </form>


mam ten plik i jeszcze drugi : gen.php :

  1. <?php
  2.  
  3. echo &#092;"$pole\";
  4.  
  5. ?>


no i to mi nie chce działać.
Po pierwsze wywala mi błąd js jeśli klkam zamknięcie pogrubieina, a po drugie w pliku php nic nie ma. po prostu białe tło a powinien być pogrubiony text. nie wiem o co chodzi.
kyno
Kod wydaje sie byc poprawny ale radze zrobic np tak
  1. <script language="javascript">
  2. function znacznik(cos){
  3. document.getElementById('pole').value = document.getElementById('pole').value + cos;
  4. }
  5. </script>


pozniej odpowienio:
  1. <form action="gen.php" method="post">
  2. <input type="button" value ="" onclick="znacznik('[B]')">
  3. <input type="button" value ="" onclick="znacznik('[/B]')">
  4. <TEXTAREA name="pole" id="pole" STYLE="Width: 350px; height: 120px;"></TEXTAREA>
  5. <input type="submit" value="Wyślij!">
  6. </form>
dexter_m
Dzięki, wszystko gra fest! winksmiley.jpg
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.