BUG bei Linksetzung: Umlaute u. Sonderzeichen

Diskussionen über aktuelle und zukünftige phpBB-Versionen.
Wichtig: Bitte unbedingt die Forum-FAQ beachten! Kein Support!
Forumsregeln
Bitte unbedingt die Forum-FAQ beachten!
Antworten
Benutzeravatar
Talk19zehn
Ehemaliges Teammitglied
Beiträge: 4918
Registriert: 08.06.2009 12:03
Kontaktdaten:

BUG bei Linksetzung: Umlaute u. Sonderzeichen

Beitrag von Talk19zehn »

Hi, bezugnehmend auf jene Thematik
viewtopic.php?p=1292844#p1292844
ff
viewtopic.php?p=1292904#p1292904

interessiert mich der Entwicklungsstand u.a auch hinsichtlich der Anwendung des BBCode URL als auch einer direkten Linksetzung.

Leider finde ich kein passendes Thema auf phpBB.com oder habe fehlerhafte Suchbegriffe genutzt. Kann eurerseits weitergeholfen werden oder gibt´s Insider, die näheres Wissen
weitergeben könn(t)en und woll(t)en? :wink: Dafür danke ich.

Beste Grüße
Beste Grüße
phpBB3 Designs: Stylearea Ongray-Designs
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: BUG bei Linksetzung: Umlaute u. Sonderzeichen

Beitrag von Miriam »

Du mußt die function get_preg_expression() in der includes/functions.php etwas "aufbohren"

aus:

Code: Alles auswählen

        case 'url_inline':
            $inline = ($mode == 'url') ? ')' : '';
            $scheme = ($mode == 'url') ? '[a-z\d+\-.]' : '[a-z\d+]'; // avoid automatic parsing of "word" in "last word.http://..."
            // generated with regex generation file in the develop folder
            return "[a-z]$scheme*:/{2}(?:(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
        break; 
wird:

Code: Alles auswählen

        case 'url_inline':
            $inline = ($mode == 'url') ? ')' : '';
            $scheme = ($mode == 'url') ? '[a-zßäöü\d+\-.]' : '[a-zßäöü\d+]'; // avoid automatic parsing of "word" in "last word.http://..."
            // generated with regex generation file in the develop folder
            return "[a-z]$scheme*:/{2}(?:(?:[a-zßäöü0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-zßäöü0-9.]+:[a-zßäöü0-9.]+:[a-zßäöü0-9.:]+\])(?::\d*)?(?:/(?:[a-zßäöü0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-zßäöü0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-zßäöü0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
        break; 
Dasselbe gilt für die anderen URL Pregmatches.

Die Datei muß aber UTF-8 ohne BOM kodiert gespeichert werden.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: BUG bei Linksetzung: Umlaute u. Sonderzeichen

Beitrag von nickvergessen »

Das sollte unter anderem mit der neuen BBCode Engine gelöst werden:
https://area51.phpbb.com/phpBB/viewtopi ... 08&t=33021
kein Support per PN
Benutzeravatar
DetlefT
Mitglied
Beiträge: 237
Registriert: 03.02.2009 15:39
Wohnort: Bedburg
Kontaktdaten:

Re: BUG bei Linksetzung: Umlaute u. Sonderzeichen

Beitrag von DetlefT »

Hallo,

Miriam, erstmal danke für Deine "kleine" Lösung. :) Klappt mit den deutschen Umlauten wunderbar.

Ich habe in der includes/functions.php jetzt jedes Vorkommen von [a-z0-9 mit [a-zßäöü0-9 ersetzt; ich hoffe, damit habe ich alle Deine "URL Pregmatches" erschlagen.

Nun gibt es ja aber noch weitere Sonderzeichen, die je nach Link zu ersetzen wären, z.B.

Code: Alles auswählen

http://www.åmål.se/ das wäre konvertiert: http://www.xn--ml-xiab.se/
(Vorschlag von @Talk19zehn).
Sonderzeichen:

Code: Alles auswählen

á à ă â å ä ã ą ā æ ć ĉ č ċ ç ď đ é è ĕ ê ě ë ė ę ē ğ ĝ ġ ģ ĥ ħ í ì ĭ î ï ĩ į ī ı ĵ ķ ĺ ľ ļ ł ń ň ñ ņ ŋ ó ò ŏ ô ö ő õ ø ō œ ĸ ŕ ř ŗ ś ŝ š ş ß ť ţ ŧ ú ù ŭ û ů ü ű ũ ų ū ŵ ý ŷ ÿ ź ž ż ð þ
Unter http://phlymail.com/de/downloads/idna-convert.html gibt es eine Klasse Net_IDNA - IDNA-Converter in PHP, die unter der LGPL (GNU Lesser General Public Licence) steht. Könnte nicht einer der Cracks hier mal eine Anleitung geben, wie man die Klasse in phpBB integriert? Würde unsere Forensoftware doch sicher erheblich aufwerten.

Durch diese Klasse kann man jede URL durchjagen, man erhält immer ein Ergebnis zurück, wenn keine Sonderzeichen vorhanden sind, dann eben unverändert. Die Klasse wandelt auch Parameter korrekt um (was der Konverter beim Denic z.B. nicht kann).
Grüße, DetlefT *** Mein Forum: FJR-Tourer Deutschland

http://einfachpur.de
Benutzeravatar
zx9r-treiber
Mitglied
Beiträge: 1401
Registriert: 05.10.2007 16:26
Wohnort: Moormerland
Kontaktdaten:

Re: BUG bei Linksetzung: Umlaute u. Sonderzeichen

Beitrag von zx9r-treiber »

Danke "Miriam"

Ich habe die Änderung nun auch so vorgenommen und es läuft nun wie gewünscht.
Gruß
M&K (Michael & Kathy)
"Unser Problem ist auch nicht die Globale Erwärmung ..... sondern die Globale Verblödung!"
Antworten

Zurück zu „phpBB Diskussion“