Hans-Joachim: Valitator bringt fehler, ich weiß nicht warum.

Guten Tag

ich habe folgendes Quellcode validieren lassen:

<div>
 <div style="width: 100%;position: relative;">
  <p style="text-align:center;padding:0px;margin:0px;">MITTIG ausgerichteter Text</p>
  <b><p style="text-align:center;padding:0px;margin:0px;">MITTIG ausgerichteter Text</p></b>
  <br>
  <b><p style="text-align:right;padding:0px;margin:0px;">RECHTS ausgerichtet</p></b>
  <p style="text-align:right;padding:0px;margin:0px;">
   <img src="/icon.gif" width="15" height="15" border="0" alt="">
  </p>
  <div>
   <a href="#anfang">zum Anfang</a>
  </div>
 </div>
</div>

Dabei sagt der Validator, dass die <p>-Tags an der Stelle nicht erlaubt sind:
p ist an dieser Stelle nicht erlaubt. Es fehlt ein APPLET, OBJECT, MAP, IFRAME, BUTTON Tag.

Ich habe das auch schon mit <div> tags probiert, aber da bringt er ähnlichen Fehler:
div ist an dieser Stelle nicht erlaubt. Es fehlt ein APPLET, OBJECT, MAP, IFRAME, BUTTON Tag.

Kann mir jemand sagen was da falsch ist?
Danke sagt

Hans-Joachim

  1. Dabei sagt der Validator, dass die <p>-Tags an der Stelle nicht erlaubt sind:

    Hans-Joachim,
    Die Zeilennummer hätte auch geholfen.

    <b><p style="text-align:center;padding:0px;margin:0px;">MITTIG ausgerichteter Text</p></b>

    Darf denn p innerhalb von b vorkommen?
    Gunnar

    --
    "Nobody wins unless everybody wins." (Bruce Springsteen)
    1. hi,

      <b><p style="text-align:center;padding:0px;margin:0px;">MITTIG ausgerichteter Text</p></b>

      Darf denn p innerhalb von b vorkommen?

      natürlich nicht.

      und <b> sollte auch nicht mehr unbedingt verwendet werden, es ist deprecated.

      wenn nur der text dieses absatzes "fett" dargestellt werden soll - nutze CSS.

      wenn du auch noch auf eine erhöhte semantische bedeutung gesondert hinweisen willst - dann nutze <strong>, und zwar _innerhalb_ des <p>.

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
      1. Hallo wahsaga,

        wenn nur der text dieses absatzes "fett" dargestellt werden soll - nutze CSS.

        das könnte ich noch beeinflussen, ich werd es versuchen.

        wenn du auch noch auf eine erhöhte semantische bedeutung gesondert hinweisen willst - dann nutze <strong>, und zwar _innerhalb_ des <p>.

        ich kann aber nicht beeinflussen, wie der user über das formular eintippt:
        ob [center][b]TEST[/b][/center]
        oder [b][center]TEST[/center][/b]

        Danke
        Hans Joachim

        1. Hallo Hans-Joachim.

          ich kann aber nicht beeinflussen, wie der user über das formular eintippt:
          ob [center][b]TEST[/b][/center]
          oder [b][center]TEST[/center][/b]

          Aber es liegt doch an dir, daraus valides HTML und CSS zu machen, oder verstehe ich dich da falsch?

          Freundschaft!
          Siechfred

          --
          Wissen bedeutet zu wissen, wo es steht.
          1. Hallo Siechfred,

            ich kann aber nicht beeinflussen, wie der user über das formular eintippt:
            ob [center][b]TEST[/b][/center]
            oder [b][center]TEST[/center][/b]

            Aber es liegt doch an dir, daraus valides HTML und CSS zu machen, oder verstehe ich dich da falsch?

            Das ist schon richtig aber ich verstehe nicht ganz wie ich das ganze im nachhinein noch drehen soll, zu [center][b]TEST[/b][/center].

            Danke
            Hans-Joachim

            1. Hallo Hans-Joachim.

              Das ist schon richtig aber ich verstehe nicht ganz wie ich das ganze im nachhinein noch drehen soll, zu [center][b]TEST[/b][/center].

              Ich würde mal auf einen konzeptionellen Fehler tippen: du betrachtest jede Eingabe in [] einzeln, siehst aber den Zusammenhang nicht. So sähe das wohl im Moment bei dir aus:

              [center][b]TEST[/b][/center] -> <p><b>TEST</b></p>
              [b][center]TEST[/center][/b] -> <b><p>TEST</p></b>

              Nicht auszudenken, was aus [b][center]Test[/b][/center] werden würde. Also betrachte die Summe aller BBCodes[1] um einen Text herum und reagiere entsprechend tolerant.

              Freundschaft!
              Siechfred

              [1] vermutlich geht es darum

              --
              Wissen bedeutet zu wissen, wo es steht.
              1. Hallo Siechfred,

                [center][b]TEST[/b][/center] -> <p><b>TEST</b></p>
                [b][center]TEST[/center][/b] -> <b><p>TEST</p></b>

                Das ist richtig, habe ich bisher noch nicht daran gedacht. *gr*

                Nicht auszudenken, was aus [b][center]Test[/b][/center] werden würde. Also betrachte die Summe aller BBCodes[1] um einen Text herum und reagiere entsprechend tolerant.

                Genau, kannst du mir da evtl. einen Tip geben wo ich mich darüber belesen kann, weil ich jetzt überhaupt nicht weiß wie ich das in die Realität umsetzen kann.

                Vielen Dank
                Hans-Joachim

                1. Hallo Hans-Joachim.

                  Nicht auszudenken, was aus [b][center]Test[/b][/center] werden würde. Also betrachte die Summe aller BBCodes[1] um einen Text herum und reagiere entsprechend tolerant.
                  Genau, kannst du mir da evtl. einen Tip geben wo ich mich darüber belesen kann, weil ich jetzt überhaupt nicht weiß wie ich das in die Realität umsetzen kann.

                  Es gibt ein PHP-Projekt von Christian Seiler, vielleicht hilft dir das weiter:
                  http://www.christian-seiler.de/projekte/php/bbcode/

                  Freundschaft!
                  Siechfred

                  --
                  Wissen bedeutet zu wissen, wo es steht.
                  1. Hallo Siechfred,

                    Es gibt ein PHP-Projekt von Christian Seiler, vielleicht hilft dir das weiter:
                    http://www.christian-seiler.de/projekte/php/bbcode/

                    Ich habe nun seit mehreren Stunden versucht, mich in dem Projekt zurecht zu finden. Leider sehe ich überhaupt nicht durch.
                    Ich habe zwar einwenig Programmiererfahrung in PHP, aber naja, dafür reichts nicht.

                    Ich muss aber sagen, dass die Parserklasse eine gute Idee und Grundlage  für diejenigen ist, die dort durchblicken können.
                    Ich hoffe nun mal, dass ich das was ich realisieren möchte, anderweitig hinbekomme.

                    Danke
                    Hans-Joachim

                2. Hallo Hans-Joachim.

                  Hinweise zu deinem Problem findest du auch hier: https://forum.selfhtml.org/?t=90188&m=540544.

                  Freundschaft!
                  Siechfred

                  --
                  Wissen bedeutet zu wissen, wo es steht.
      2. Darf denn p innerhalb von b vorkommen?

        natürlich nicht.

        wahsaga,
        Auf rhetorische Fragen muss man nicht antworten. ;-)

        wenn du auch noch auf eine erhöhte semantische bedeutung ...

        Semantische Bedeutung??

        "Was Bedeutung ohne Semantik bedeutet, muss noch gedeutet werden ;-)"
        (aus http://www.sigs.de/publications/js/2004/01/dostal_JS_01_04.pdf)

        Gunnar

        --
        "Nobody wins unless everybody wins." (Bruce Springsteen)
    2. Hallo Gunnar

      Dabei sagt der Validator, dass die <p>-Tags an der Stelle nicht erlaubt sind:

      Hans-Joachim,
      Die Zeilennummer hätte auch geholfen.

      Ich meine alle <p> tags die im Text vorkommen

      <b><p style="text-align:center;padding:0px;margin:0px;">MITTIG ausgerichteter Text</p></b>

      Darf denn p innerhalb von b vorkommen?

      Das ist bei dem erstem tag nicht der Fall, dort kommt aber auch der fehler.
      Das p und b tag wird bei mir durch eregi_replace() erstellt und wird in  einem Formular über [b] [/b] sowie [center] [/center] geschrieben.

      Hans-Joachim