Seite 1 von 1

Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 14:46
von Blue.Shark
Wenn man einen Rahmen in einen anderen Rahmen über Fieldset machen möchte, erscheint folgendes:

Bild

Es funktioniert also nicht. Der Code dazu:
[fieldset]
[legend]Fieldset_1[/legend]
[fieldset]
[legend]Fieldset_2[/legend]
Hallo
[/fieldset]
[/fieldset]

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 15:54
von Anarchie
Ist eigentlich logisch, weil der Close-Tag des inneren Rahmes vom äusseren Rahmen als dessen Close-Tag angesehen wird. Ob man das ändern kann, bin ich nicht sicher, aber ich glaube, es gab bereits schon einmal diese Diskussion, kann sie auf Mobile gerade nur nicht raussuchen.

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 16:14
von Blue.Shark
Warum soll das nicht gehen? Wenn ich das selbe in HTML mache klappt es

Bild

Da ist vermutlich nur ein kleiner Fehler drinne, deshalb schreib ichs hier ja ins Bug Report :)

Code:
<fieldset>
<legend>Fieldset_1</legend>
<fieldset>
<legend>Fieldset_2</legend>
Hallo
</fieldset>
</fieldset>

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 22:36
von Draco Ellmánò
da läuft irgendwo der stack verkehrt,
das erste schließende close sollte eigentlich nie in verbindung mit dem ersten öffnenden gebracht werden,
also würd ich auch stark auf bug bzw fehlerhafte umsetzung tippen

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 22:40
von Benu
Draco Ellmánò hat geschrieben:da läuft irgendwo der stack verkehrt,
Es wird keinen geben. Da werden nur reguläre Ausdrücke verwendet. Die können keine Kellersprache erkennen.

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 22:52
von Draco Ellmánò
whut? kellersprachen die regex erkennen?
also entweder versteh ich grad nich was du meinst ... oder du verstehst nich was ich meine? :D

also wenn ich sowas umsetzen sollte würde ich mir die klammern (in dem fall <fieldset> für klammer auf und </fieldset> für klammer zu) aus dem text filtern und aufn stack werfen. so kann ich immer nur eine klammerung schließen wenn vorher geöffnet wurde und schließe auch immer nur die klammerung die vorher geöffnet wurde und nicht alle.
und hier läuft dann entweder was mit dem push verkehrt oder es ist eben schlichtweg nicht übern stack umgesetzt^^

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 23:04
von Benu
Es wird ein regulärer Ausdruck verwendet. Reguläre Ausdrücke können keine Kellerautomaten beschreiben.

Vielleicht fällt mir noch eine dritte Permutation der erklärenden Wörter ein :lol:

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 28. Apr 2015, 23:06
von bwoebi
ist sowas denn viel zu kompliziert…

Code: Alles auswählen

$text = ($replace = function($m) use (&$replace) { $text = preg_replace_callback("(\[fieldset\]((?:(?R)|(?!\[/?fieldset\]).)*)\[/fieldset\])is", $replace, $m[1]); return isset($m[0]) ? "<fieldset>$text</fieldset>" : $text; })([1 => $text]); /* PHP 7 kompatibler Code^^ */
Ein bisschen Regex ist doch schön :o

@Benu: PHP benutzt PCRE… und PCRE kann schon Kellerautomaten beschreiben. Andere Regex-typen können es aber tatsächlich nicht.

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 29. Apr 2015, 19:25
von Blue.Shark
Ich dachte immer, dass die eckigen klammern [] einfach im Code in die spitzen <> umgeformt werden und dann direkt als HTML ausgegeben?

Re: Rahmen in einen anderen Rahmen im Profil

Verfasst: 29. Apr 2015, 21:02
von Blue.Shark
Ja stimmt, bei Links geht tatsächlich nicht, aber bei fieldset, b, u, s müsste es gehen.