[3.3] Typographische Anführungszeichen
-
- Mitglied
- Beiträge: 26
- Registriert: 02.08.2022 13:14
Re: [3.3] Typographische Anführungszeichen
Nee, das klappt nicht, weil es auch im reinen Datenbanktext schon HTML-Code gibt. Damn, das kann nicht umgangen werden...
Re: [3.3] Typographische Anführungszeichen
Doch, das geht:
https://www.askingbox.de/tipp/php-nur-b ... g-zulassen
Also nur, wenn ein Leerzeichen davor und danach von " ist, wandle um, ansonsten mache nichts.
Quasie anders rum denken, regex für Leerzeichen (davor und danach von ") setzen (also via
und Umwandlung via
Weiteres Futter:
https://forum.planet3dnow.de/index.php? ... en.291646/
https://www.php.net/manual/de/function.preg-match.php
Das hier mal als Inspiration anschauen (hierbei istBNa hat geschrieben: 29.08.2022 13:32 Achja, Du musst in derregex
noch jegliches Zeichen
direkt vor dem einleitenden " und nach dem ausleitenden " ausschließen.
Also außer Leerzeichen davor/danach sollte die regex das ausschließen.
preg_match()
evtl. Dein Freund):Und das "negativ" umsetzen, (ähnlich wie im Beispiel)Leerzeichen zulassen
Das Hinzufügen beliebiger Zeichen zu unserem regulären Ausdruck gilt sogar für Leerzeichen. In diesem Beispiel haben wir noch ein Leerzeichen in die Zeichenklasse aufgenommen:Code: Alles auswählen
if (!preg_match("#^[a-zA-Z0-9äöüÄÖÜ ]+$#", $text)) { echo 'String enthält auch andere Zeichen.'; } else { echo 'String enthält nur Buchstaben, Zahlen und Leerzeichen.'; }
if (!preg_match(blabla
:https://www.askingbox.de/tipp/php-nur-b ... g-zulassen
Also nur, wenn ein Leerzeichen davor und danach von " ist, wandle um, ansonsten mache nichts.
Quasie anders rum denken, regex für Leerzeichen (davor und danach von ") setzen (also via
preg_match()
)und Umwandlung via
preg_replace()
ausschließen, wenn Leerzeichen davor und danach von " nicht vorhanden...Weiteres Futter:
https://forum.planet3dnow.de/index.php? ... en.291646/
https://www.php.net/manual/de/function.preg-match.php
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
Re: [3.3] Typographische Anführungszeichen
Wenn man sich es sehr leicht machen möchte bindet man dieses Skript in der
https://smartquotes.js.org/
Unterliegt der MIT-Lizenz.
Im Skript müssen für deine gewünschte Funktion nur 4 Stellen geändert werden.
Finde
Edit: Es gibt einen Fork der die Deutschen Besonderheiten berücksichtigt.
https://github.com/k-nut/smartquotesjs
overall_footer.html
hinter der Zeile {$SCRIPTS}
ein.https://smartquotes.js.org/
Unterliegt der MIT-Lizenz.
Im Skript müssen für deine gewünschte Funktion nur 4 Stellen geändert werden.
Finde
\u201C
und ersetze diese durch \u201E
(Unicode-Zeichen).Edit: Es gibt einen Fork der die Deutschen Besonderheiten berücksichtigt.
https://github.com/k-nut/smartquotesjs
Zuletzt geändert von IMC am 29.08.2022 18:05, insgesamt 1-mal geändert.
Gruß, Thorsten
[3.3] Typographische Anführungszeichen
@liesenfeld
Solange der letzte Beitrag in einem Thema von dir stammt und noch kein anderer Benutzer geantwortet hat, darfst du erst nach einer Wartezeit erneut antworten.
Siehe dazu Knowledge Base - Der kleine phpBB.de-Knigge - unsere Hausordnung Bereich Topic-Bumping / Mehrfachantworten
Mit freundlichen Grüßen,
dein phpBB.de-Team
Solange der letzte Beitrag in einem Thema von dir stammt und noch kein anderer Benutzer geantwortet hat, darfst du erst nach einer Wartezeit erneut antworten.
Siehe dazu Knowledge Base - Der kleine phpBB.de-Knigge - unsere Hausordnung Bereich Topic-Bumping / Mehrfachantworten
Mit freundlichen Grüßen,
dein phpBB.de-Team
-
- Mitglied
- Beiträge: 26
- Registriert: 02.08.2022 13:14
Re: [3.3] Typographische Anführungszeichen
Danke für die viele Hilfe. Ich bin jetzt so folgendem Ergebnis gekommen (falls jemand anderes auch das gleiche Problem haben sollte):
1) Ersetzung der Zollzeichen durch typographische Anführungszeichen gehen nur bedingt. Das vordere kann man aus dem Datenbanktext bedenkenlos ersetzen, das hintere nicht. Denn es gibt zu viele HTML-Anweisungen, die schon im Feld phpbb_posts stehen, die dadurch korrumpiert werden. Daher habe ich es jetzt so gemacht:
Das sieht dann so aus: lass es dir „munden"
und damit bin ich zufrieden
2) Ich habe noch an der zweiten Stelle, wo also das $message schon quasi ausgabefertig ist eine zweite Ersetzung reingemacht. Dadurch kann ich beliebige Ersetzungen machen. In meinem Fall :hr: zu <hr> mit Styling.
1) Ersetzung der Zollzeichen durch typographische Anführungszeichen gehen nur bedingt. Das vordere kann man aus dem Datenbanktext bedenkenlos ersetzen, das hintere nicht. Denn es gibt zu viele HTML-Anweisungen, die schon im Feld phpbb_posts stehen, die dadurch korrumpiert werden. Daher habe ich es jetzt so gemacht:
Code: Alles auswählen
//In viewtopic.php in Zeile 1764 einfach folgendes eingefügt:
//(Suchen nach: $message = generate_text_for_display($row)
$rohtext = $row['post_text'];
$rohtext = str_replace(" \"", ' „', $rohtext);
//$message = generate_text_for_display($row['post_text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $parse_flags, true);
$message = generate_text_for_display($rohtext, $row['bbcode_uid'], $row['bbcode_bitfield'], $parse_flags, true);
und damit bin ich zufrieden
2) Ich habe noch an der zweiten Stelle, wo also das $message schon quasi ausgabefertig ist eine zweite Ersetzung reingemacht. Dadurch kann ich beliebige Ersetzungen machen. In meinem Fall :hr: zu <hr> mit Styling.
Code: Alles auswählen
//in Zeile 2032
$message = str_replace(':hr:', '<hr style="width: 50%; height:unset; margin:auto;">', $message);
//
$post_row = array(
Re: [3.3] Typographische Anführungszeichen
Vielleicht ist dies die Lösung für dich.
https://github.com/IMC-GER/phpBB-Curly-Quotes
Wird nach und nach weiter entwickelt.
https://github.com/IMC-GER/phpBB-Curly-Quotes
Wird nach und nach weiter entwickelt.
Gruß, Thorsten
-
- Mitglied
- Beiträge: 26
- Registriert: 02.08.2022 13:14
Re: [3.3] Typographische Anführungszeichen
Ah - thank you for the hint. Will check it out and report back 
...
No - doesn't work:

...
No - doesn't work:
Code: Alles auswählen
Fatal error: Uncaught Error: Call to undefined function imcger\curlyquotes\event\str_contains() in /pages/51/66/d0015911/home/htdocs/heilforum.de/ext/imcger/curlyquotes/event/main_listener.php:96 Stack trace: #0 /pages/51/66/d0015911/home/htdocs/heilforum.de/ext/imcger/curlyquotes/event/main_listener.php(51): imcger\curlyquotes\event\main_listener->get_browser_lang('de') #1 /pages/51/66/d0015911/home/htdocs/heilforum.de/cache/production/container_4335734bbdd20f586549a504dff5f80c.php(3783): imcger\curlyquotes\event\main_listener->__construct(Object(phpbb\user), Object(phpbb\request\request), Object(imcger\curlyquotes\core\fixer)) #2 /pages/51/66/d0015911/home/htdocs/heilforum.de/cache/production/container_4335734bbdd20f586549a504dff5f80c.php(3009): phpbb_cache_container->getImcger_Curlyquotes_ListenerService() #3 /pages/51/66/d0015911/home/htdocs/heilforum.de/vendor/symfony/event-dispatcher/EventDispatcher.php(231): phpbb_cache_container->{closure}() #4 /pages/51/66/d0015911/home/htdocs/heilforum.de/vendor/symfony/event-di in /pages/51/66/d0015911/home/htdocs/heilforum.de/ext/imcger/curlyquotes/event/main_listener.php on line 96
Zuletzt geändert von Kirk am 10.09.2022 10:40, insgesamt 1-mal geändert.
Grund: Unnötiges Komplettzitat entfernt
Grund: Unnötiges Komplettzitat entfernt
Re: [3.3] Typographische Anführungszeichen
Die Extension benötigt min. php 8.0. Wenn du nicht die Möglichkeit hast höher zu gehen könnte ich dies noch ändern.
php 7 erreicht jedoch am Ende des Jahr sein Lebensende. Dann sollte man eh hoch stufen.
php 7 erreicht jedoch am Ende des Jahr sein Lebensende. Dann sollte man eh hoch stufen.
Gruß, Thorsten
-
- Mitglied
- Beiträge: 26
- Registriert: 02.08.2022 13:14
Re: [3.3] Typographische Anführungszeichen
Ah, wie dämlich von mir. Ich hatte für das Verzeichnis vergessen auf 8.0 umzustellen
Habe ich jetzt gemacht und es kommt keine Fehlermeldung mehr. Scheint gut zu funktionieren, allerdings werden Zitate zu Beginn des Beitrages nicht ersetzt:
"Ich denke, also bin ich"
Bleibt unverändert.
Er sagt "ich denke, also bin ich"
Wird ersetzt.

Habe ich jetzt gemacht und es kommt keine Fehlermeldung mehr. Scheint gut zu funktionieren, allerdings werden Zitate zu Beginn des Beitrages nicht ersetzt:
"Ich denke, also bin ich"
Bleibt unverändert.
Er sagt "ich denke, also bin ich"
Wird ersetzt.
Re: [3.3] Typographische Anführungszeichen
Danke für die Rückmeldung.
Jetzt sollte auch am Zeilenanfang ersetzt werden. Ist im Main korrigiert.
https://github.com/IMC-GER/phpBB-Curly- ... s/main.zip
Jetzt sollte auch am Zeilenanfang ersetzt werden. Ist im Main korrigiert.
https://github.com/IMC-GER/phpBB-Curly- ... s/main.zip
Gruß, Thorsten