![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 7.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Postanowiłem w swoich skryptach PHP drukować kod wynikowy w XMLu zamiast HTMLu. Znacznie skraca to dokument PHP, i daje możliwość łatwej zmiany wyglądu strony przez podmienianie arkuszy XSL.
Jest tylko jeden problem. Czasem np. w postach, występuje wewnętrzny kod HTML. Żeby w ogóle przeszedł trzeba go zakodować: Kod $x="<b>przykładowy tekst</b>"; $x=str_replace('&', '&', $x); $x=str_replace('"', '"', $x); $x=str_replace('<', '<', $x); $x=str_replace('>', '>', $x); echo '<notka>'.$x.'</notka>'; Chciałbym w taki sposób wyświetlić zawartość znacznika '<notka>', tak żeby jej zawartość odzyskała własność HTML. Jedyny pomysł jaki przyszedł mi do głowy to JavaScript. (Skracając tak może wyglądać kod strony wydrukowanej przy użyciu XSLa... Chodzi o to żeby zawartości niektórych elementów przywrócić własności HTML.) Kod <html><head> <script type="text/javascript"> <!-- function zmienTeksty(){ var = document.getElementById('notka'); e.innerHTML=e.innerHTML.replace(/>/g, ">").replace(/</g, "<").replace(/&/g, "&").replace(/&/g, "&"); } --> </script> </head> <body onload="zmienTeksty();"> <p id="notka"><b>echo</b></p> <p id="notka"><i>hi hi</i></p> <p id="notka"><u>paf</u></p> </body></html> Skrypt jednak nie do końca działa - odkodowuje HTML tylko w pierwszym znaczniku oznaczonym id="notka". a ) jak zrobić żeby ten skrypt działał we wszystkich miejscach? B ) czy jest jakieś lepsze rozwiązanie tego problemu? Ten post edytował przemdro 14.05.2008, 01:58:56 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod HTML zapisuj do znacznika w CDATA:
Kod CDATA section starts with "<![CDATA[" and ends with "]]>": przykład:
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:42 |