Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: W jakiej postaci najlepiej przechowywać treść strony?
Forum PHP.pl > Forum > PHP
jolam
W jaki inny sposób niż poprzez znaczniki HTML organizować dane, które potem wyświetla się na stronie? Chodzi mi o jakąś alternatywę dla znaczników otwierających i zamykających <p>, <hX> i innych? Bo teraz jeśli mam ileś stron (wszystkie generowane poprzez PHP i SQL) to mimo, że mają podobny układ treści, to (poza menu i szablonem strony) w tekstach powinnam wstawiać te znaczniki HTML. Wymyśliłam, że pole w bazie może zawierać tekst z pustymi linijkami i te puste linijki oznaczają granice akapitów, dwie linijki oznaczają nagłówek. I mimo, że łatwiej mi wciskać ENTER kilka razy zamiast wpisywać te znaczniki to nie jestem zadowolona z tego rozwiązania. Bo nie da się już w tak prosty sposób wstawiać list UL i innych elementów. Jak mogłabym lepiej to robić? Generalnie aby nie stanowiących właściwą treść strony elementów było jak najmniej.

pozdrawiam Jola
Pawel_W
chodzi ci o jakiś bbcode?
JoShiMa
Zajrzyj sobie na wiki. Tam jest fajny system. Trzeba to tylko oskryptować, żeby w ocie wstawiało znaczniki i już.
Zyx
JoShiMa -> próbowałeś kiedyś wyciąć parser z MediaWiki, tudzież napisać jego klon? Życzę powodzenia... smile.gif jak doinstalujesz do tego parę rozszerzeń, to się z tego prawieże język programowania robi.

Osobiście gorąco polecam składnię Markdown, a szczególnie jej odmianę PHP Markdown Extra rozwijaną przez Michela Fortina. Parser jest bardzo prosty w użyciu i szybki - można bez problemu przetwarzać tekst w locie, a ma przy tym spore możliwości. Masz tam wszystkie podstawowe elementy formatowania tekstu, bloki cytatu, tabele, listy numerowane/wypunktowane, przypisy, odnośniki i wiele innych rzeczy - a jeśli coś nie wychodzi, możesz zawsze użyć znaczników HTML. Wykorzystuję to w swoim systemie budowania dokumentacji TypeFriendly, gdzie oryginalny parser został dodatkowo rozbudowany o kolorowanie składni i parę technicznych bajerków i sprawdza się to świetnie. Ze składnią możesz zapoznać się w następującym (polskim) opisie, który nawiasem mówiąc sam został napisany w Markdownie: http://static.invenzzia.org/docs/tf/0_1/bo...ocs.syntax.html
jolam
Bardzo dziękuję za odpowiedź. Ten Markdown wydaje się bardzo ciekawy. A czy nie ma błędó jeśli w tekście pojawią się np gwiazdki oznaczające wyróżnienie w tym systemie? Czy znasz jakieś inne systemy służące takich celów jak pisałam. I chyba najważniejsze dla mnie pytanie. JEśli dobrze zrozumiałam, to w tym (lub podobnym formacie) powinnam trzymać treści strony w bazie? I potem podczas generowania strony robić z takiej treści treść HTML? Czy może już w bazie powinnam mieć znaczniki HTML?
Czy moglibyście mi również powiedzieć jak robi się cache strony? Jeśli dobrze zrozumiałam, to przyśpiesza wczytywanie strony?


pozdrawiam serdecznie Jola
postscriptum
jak zainstalować ten Markdown?
viking
Takich formatów jest sporo. Oprócz markdown najbardziej popularny jest jeszcze http://textism.com/tools/textile/ no i bbcode.
Oprócz tego np http://texy.info/pl/ z edytorem http://texyla.janmarek.net/
Wybierz który ci najbardziej pasuje i pisz w nim. Tekst trzymasz w bazie, zamieniasz w locie lub cache gotowego tekstu. Do cache możesz użyć np. Zend_Cache - reszta w dokumentacji.
Jak zainstalować: http://michelf.com/projects/php-markdown/ jeśli masz dostęp to jest również w innych językach. Nawet można znaleźć arkusz xslt (choć dawno nie rozwijany i wymaga poprawek).
JoShiMa
Cytat(Zyx @ 2.08.2009, 22:51:38 ) *
JoShiMa -> próbowałeś kiedyś wyciąć parser z MediaWiki, tudzież napisać jego klon?

Owszem. Próbowałam napisać. Na własne potrzeby mi się udało, ale to dlatego, że byłam jedynym uzytkownikiem tego edytora i nie potrzebowałam w nim tworzyć nie wiadomo jak skomplikowanego kodu. Listy wypunktowane nagłówki i akapity mi wystarczały smile.gif Jak bym potrzebowała czegoś bardziej rozbudowanego zainteresowałabym się gotowymi edytorami smile.gif
Zyx
Ale ja mówię o wycięciu całego parsera, tudzież napisaniu pełnego klonu smile.gif. Parę podstawowych elementów to jeszcze nie jest taki problem napisać, lecz osobiście się już na Markdowna przerzuciłem.
JoShiMa
Cytat(Zyx @ 3.08.2009, 18:29:07 ) *
Ale ja mówię o wycięciu całego parsera, tudzież napisaniu pełnego klonu smile.gif. Parę podstawowych elementów to jeszcze nie jest taki problem napisać, lecz osobiście się już na Markdowna przerzuciłem.

No widzisz. Wszystko zależy czego się potrzebuje a tego autorka wątku nie sprecyzowała guitar.gif
jolam
No ja potrzebuję takiego uproszczonego systemu znaczników do wygodniejszego i szybszego zarządzania treścią strony. Po prostu znaczniki HTML są objętościowo za duże. W tekście, który jest właściwą treścią wyświetlaną na stronie te znaczniki HTML zajmują dużo miejsca, przez co trudniej się go edytuje.

Ten Markdown jest lepszy. Mam tylko wątpliwość co zrobić z encjami? Wiadomo, że muszę mieć na stornie zamiast znaków &, <, > i innych odpowiednie encje. Ale takie zamiany chyba powinnam robić przy generowaniu strony, żeby w tekście który edytuję widzieć normalne znaki?

pozdrawiam Jola
konradg
Cytat(jolam @ 5.08.2009, 21:17:26 ) *
No ja potrzebuję takiego uproszczonego systemu znaczników do wygodniejszego i szybszego zarządzania treścią strony. Po prostu znaczniki HTML są objętościowo za duże. W tekście, który jest właściwą treścią wyświetlaną na stronie te znaczniki HTML zajmują dużo miejsca, przez co trudniej się go edytuje.

Ten Markdown jest lepszy. Mam tylko wątpliwość co zrobić z encjami? Wiadomo, że muszę mieć na stornie zamiast znaków &, <, > i innych odpowiednie encje. Ale takie zamiany chyba powinnam robić przy generowaniu strony, żeby w tekście który edytuję widzieć normalne znaki?

pozdrawiam Jola

No to mi się wydaje, że chodzi Ci o bbcode tutaj masz gotowy edytor tylko przekleić kod no i potem tylko dopisać odpowiednio
  1. <?php
  2. preg_replace("#(.*?)#si",'<b>1</b>',$area)
  3. ?>
i załatwione.
viking
Cytat(jolam @ 5.08.2009, 21:17:26 ) *
Ten Markdown jest lepszy. Mam tylko wątpliwość co zrobić z encjami? Wiadomo, że muszę mieć na stornie zamiast znaków &, <, > i innych odpowiednie encje. Ale takie zamiany chyba powinnam robić przy generowaniu strony, żeby w tekście który edytuję widzieć normalne znaki?

Textile koduje automatycznie.
Tak na marginesie chyba lepiej użyć http://wiki.github.com/taat/textile
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.