Frage zu Regex
Jörg
- php
- regex
Hallo zusammen,
wenn ich aus bbcode Plaintext machen möchte, müßte doch eigentlich meine folgende Regex hilfreich sein, oder?
Aber dann frage ich mich, warum z.b. in dieser Regex nur 1 match ist und der img-Endtag nicht gematched wird?
Jörg
@@Jörg
wenn ich aus bbcode Plaintext machen möchte, müßte doch eigentlich meine folgende Regex hilfreich sein, oder?
Das würde ich verneinen. Verwende einen BBCode-Parser; die sollte es wie Sand am Meer geben.
Aber dann frage ich mich, warum z.b. in dieser Regex nur 1 match ist und der img-Endtag nicht gematched wird?
😷 LLAP
Hallo Gunnar,
Das würde ich verneinen. Verwende einen BBCode-Parser; die sollte es wie Sand am Meer geben.
Nur, um aus BBcode einen Plaintext zu machen? Das sollte dich über eine Regex ratzfatz gemacht sein oder irre ich da? Alles, was in eckigen Klammern daherkommt, schlicht mitsamt der Klammer rauswerfen? Dabei ist mir dann auch wurscht, ob ich irgendetwas unberechtigterweise raus werfe, was einfach in eckigen Klammern daher kommt und mit bbcode nichts zu tun hat. Das ist eingepreist.
Flagge zeigen
Ach ok, danke 😉
Jörg
Hallo Jörg,
Es gibt bbcode Tags, wo zwischen Begin- und End-Tag kein Text steht (URL und IMG), sondern ein*e URL. Beim URL Tag ist das sogar variabel, es gibt den Link mit Linktext ˋ[url=http://example.org/fallbesipiel]Das gemeine Fall-Besipiel[/url]ˋ und reine Links ˋ[url]http://example.org/mustermann[/url]ˋ.
Ein Verfahren, das stumpf alle [...] Marker entfernt, liefert dafür vielleicht unerwünschte Ergebnisse.
Wenn Du Linktexte "retten" willst, dann beachte auch, dass bbcode geschachtelt werden darf.
Grmpf, wieso produziert dieses Tablet hier Backticks, die nicht als Code-Marker interpretiert werden? Oder liegt das an den eckigen Klammern?
Rolf
Hallo Rolf,
hier gehts mir gar nicht um eine wirklich wasserdichte Lösung.
Und die ganzen bbcode-Parser setzen in html um, also auch nicht das,w as ich möchte.
ich habs jetzt für mich so gelöst (wohlwissend, dass das nihct zu 100% funktionieren wird, wie ich gerne hätte:
function bbcode2plain($text)
{
return preg_replace('#\[[^\]]+\]#','',$text);
}
Jörg
@@Rolf B
ein*e URL.
Schlechtes Beispiel fürs Gendern. Der URL, männlich.
Grmpf, wieso produziert dieses Tablet hier Backticks, die nicht als Code-Marker interpretiert werden? Oder liegt das an den eckigen Klammern?
Nein, es liegt an den Nicht-Backticks. Mit Backticks funktioniert’s:
[url=http://example.org/fallbesipiel]Das gemeine Fall-Besipiel[/url]
Mit U+02CB (MODIFIER LETTER GRAVE ACCENT) natürlich nicht.
😷 LLAP
Hallo Gunnar,
Schlechtes Beispiel fürs Gendern. Der URL, männlich.
Aber nein, es ist die URL, weiblich. Und bevor wir beide vom Haar- zum Schädelspalten übergehen, hab ich das lieber vergendert.
Nein, es liegt an den Nicht-Backticks
Ist schon klar, aber ich habe auf der angeklipsten Tablet-Tastatur die gleiche Taste verwendet, die ich auf meiner PC Tastatur auch verwende: die für die kombinierenden Akzentzeichen Akut und Gravis, zwischen ß und BackSpace.
Auf dem PC entsteht daraus "`" (GRAVE ACCENT \u0060) und auf dem Tablet entsteht "ˋ" (MODIFIER LETTER GRAVE ACCENT \u02cb). Der visuelle Unterschied ist nicht der Glyph, sondern das Spacing drumherum. Weswegen ich mich über das Tablet aufregte. Weil man das erstmal gar nicht bemerkt und es mir die Möglichkeit zum Eintippen des Backtick nicht (wie gewohnt) gibt.
Rolf
printf('Hallo %s!', ['Du', 'ihr', 'Welt', 'zusammen'][rand(0, 3)]);
Schlechtes Beispiel fürs Gendern. Der URL, männlich.
Aber nein, es ist die URL, weiblich.
„Die“ Locator fühlt sich sehr flasch an.
/K
Hallo kai345,
was ist mit "die Location"? URL wird hinreichend oft als Synonym zu "die Adresse" gebraucht und hat sich darum bei vielen verweiblicht.
Abgesehen davon ist das Genus einer Abkürzung nicht immer am Langtext festzumachen, gerade dann nicht, wenn der Langtext englisch ist. Beispiel: Das Modem. Oder gehörst Du zu der Minorität, die die - natürlich auch erlaubte - Form "der Modem" verwenden? Wegen "Modulator / Demodulator"?
Rolf
printf('Hallo %s!', ['Du', 'ihr', 'Welt', 'zusammen'][rand(0, 3)]);
was ist mit "die Location"? URL wird hinreichend oft als Synonym zu "die Adresse" gebraucht und hat sich darum bei vielen verweiblicht.
Ich halte das für falsch, auch wenn ich ab und zu selbst dazu neige (weil man es zu oft hört). Location ist das, worauf der Locator verweist.
Ich sehe das so ähnlich wie beim Programmieren. Ein Zeiger verweist auf eine Adresse, ist aber selbst nicht die Adresse.
/K
@@Rolf B
was ist mit "die Location"?
Was soll damit sein? Der Beriff kommt in Uniform Resource Locator nicht vor.
URL wird hinreichend oft als Synonym zu "die Adresse" gebraucht
Adresse ≠ Locotion. Eine Location hat eine Adresse.
Dir sind Pointer aus C u.dgl. ein Begriff‽
Oder gehörst Du zu der Minorität, die die - natürlich auch erlaubte - Form "der Modem" verwenden? Wegen "Modulator / Demodulator"?
Das müsste es ja „das URL“ heißen. 🤔
😷 LLAP
Hi,
„Die“ Locator fühlt sich sehr flasch an.
Analog zur Salzstreuerin ist es die Locatoress 😉
cu,
Andreas a/k/a MudGuard
@@Rolf B
Der URL, männlich.
Aber nein, es ist die URL, weiblich.
Schon klar. Heißt ja auch die Motor, die Rollator, …
Auf dem PC entsteht daraus "`" (GRAVE ACCENT \u0060) und auf dem Tablet entsteht "ˋ" (MODIFIER LETTER GRAVE ACCENT \u02cb).
Dass bei `
a
kombiniert à rauskommt, klar. Aber warum sollte bei `
[
– wenn’s nichts zu kombinieren gibt – U+02CB [ anstatt U+0060 [ rauskommen?
Melde den Bug beim Hersteller deines Betriebssystems.
😷 LLAP