Maxxe: PHP-Konstante vs. valides XHTML

Hi zusammen,

ich habe ein Suchfeld mittels zweier PHP-Konstanten in eine Seite eingebaut.

<div><SEARCH_FORM><SEARCH_RESULTS></div>

<SEARCH_FORM> wird sofort in HTML umgesetzt/ausgegeben, <SEARCH_RESULTS> natürlich erst, nachdem Suchresultate existieren. Bis dahin steht im HTML-Code die Konstante <SEARCH_RESULTS> im Reintext da. Und genau das wird bei der XHTML-Validierung bemängelt. Kann ich die Konstante irgendwie maskieren o.ä. Ich hätte gern validen Code.

Danke und Gruß
Maxxe

  1. Hallo,

    ich habe ein Suchfeld mittels zweier PHP-Konstanten in eine Seite eingebaut.

    also quasi ein einfaches Template-System?

    <div><SEARCH_FORM><SEARCH_RESULTS></div>

    <SEARCH_FORM> wird sofort in HTML umgesetzt/ausgegeben, <SEARCH_RESULTS> natürlich erst, nachdem Suchresultate existieren. Bis dahin steht im HTML-Code die Konstante <SEARCH_RESULTS> im Reintext da.

    Das heißt, beim Client kommt sowas an:

    <div><form ...>...</form><SEARCH_RESULTS></div>

    Ist natürlich vom Konzept her nicht schön.

    Und genau das wird bei der XHTML-Validierung bemängelt. Kann ich die Konstante irgendwie maskieren o.ä. Ich hätte gern validen Code.

    Quick and dirty: Stelle dein Template-System so um, dass die Platzhalter in vollständigen HTML-Kommentaren stehen:
    <!--SEARCH_FORM--><!--SEARCH_RESULTS-->

    Saubere Lösung: Expandiere <SEARCH_RESULTS> zu einem Leerstring, wenn's noch keine Ergebnisse zum Anzeigen gibt.

    Ciao,
     Martin

    --
    They say hard work never killed anyone, but I figure, why take the risk?
      (Ronald Reagan, US-Präsident 1981-1989)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hi Martin, danke für die schnelle Antwort! Genau so hatte ich es gemeint. Tolle Hilfe, ich denke das wird klappen. Ansonsten meld ich mich nochmal. ;)

      Schönen Abend dir
      Maxxe

  2. Hi!

    ich habe ein Suchfeld mittels zweier PHP-Konstanten in eine Seite eingebaut.

    Unmöglich. Wenn die Seite im Browser landet ist PHP bereits Geschichte. Mit PHP kannst du beeinflussen, was im Browser landet.

    <SEARCH_FORM> wird sofort in HTML umgesetzt/ausgegeben, <SEARCH_RESULTS> natürlich erst, nachdem Suchresultate existieren.

    Dann muss deine Ausgaberoutine das <SEARCH_RESULTS> eben durch einen Leerstring ersetzen, wenn es nichts gibt, mit dem der Browser was tun soll.

    Lo!