Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DOM - (nie)formatowanie + (nie)enkodowanie, problemy z formatOutput i krzakami
yoyo
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 20.12.2003
Skąd: Bielsko-Biała

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


Witam wszystkich po długiej nieobecności na forum.

Mam dwa problemy:

1. Pierwszy problem - formatowanie xml'a ($formatOutput)

ok, więc zacznę od dobrej wiadomośći:

  1. <?php
  2. $xml = DOMDocument::loadXML('<html><head><title>tytuł</title></head><body><p>treść</p></body></html>');
  3. $xml->formatOutput = true;
  4. $xml->encoding  = 'utf-8';
  5. echo $xml->saveXML();
  6. ?>


Dostaję wynik taki jaki oczekiwałem:
(widzę, że forum nie pokazuje wcięć, w każdym razie wcięcia są takie jakie być powinny)

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <html>
  3.  <head>
  4.    <title>tytuł</title>
  5.  </head>
  6.  <body>
  7.    <p>treść</p>
  8.  </body>
  9. </html>


Natomiast problem pojawia się, gdy pomiędzy jakikolwiek element wstawię choćby jeden znak, poniżej dodałem spację po <head>:

  1. <?php
  2. $xml = DOMDocument::loadXML('<html><head> <title>tytuł</title></head><body><p>treść</p></body></html>');
  3. $xml->formatOutput = true;
  4. $xml->encoding  = 'utf-8';
  5. echo $xml->saveXML();
  6. ?>


Wynik dostaję taki:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <html> <head><title>tytuł</title></head><body><p>treść</p></body></html>


I to jest pierwszy problem - teraz przestał formatować.


2. Drugi problem - krzaki przy uzyciu saveHTML()

  1. <?php
  2. $xml = DOMDocument::loadXML('<html><head><title>tytuł</title></head><body><p>treść</p></body></html>');
  3. $xml->formatOutput = true;
  4. $xml->encoding = 'utf-8';
  5. echo $xml->saveHTML();
  6. ?>


A wynik:
(no kurka nie da się tego pokazać, bo forum automatycznie konwertuje &#xxx; na znaczki, tak więc wlepiłem "&-" zamiast "&")

  1. <html>
  2. <head><title>tytu&-#322;</title></head>
  3. <body><p>tre&-#347;&-#263;</p></body>
  4. </html>


Wszystkie dwubitowce zostają zakodowane... abstrahuje już że nie takiego formatowania się spodziewałem.
  • php 5.0.4
  • libxml 2.6.11
  • Windows XP
  • Ilość godzin przed komputerem dzisiaj: 11
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 14:30