[BETA] Image First Postletters 2.0.0
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Re: [BETA] Image First Postletters 2.0.0
@BNa,
ich habe keinerlei Puls. Alles im grünen Bereich.
Es eilt auch nicht.
Danke für Eure Mühe, dies live zu testen, super !
so long
ich habe keinerlei Puls. Alles im grünen Bereich.
Es eilt auch nicht.
Danke für Eure Mühe, dies live zu testen, super !
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Cruisin' Orange - die Krönung unter den Styles
Re: [BETA] Image First Postletters 2.0.0
Die ganze Codegeschichte vorher von Würzi (?) hatte ich mir garnicht angeschaut. Das sollte eher was Eigenständiges (also ohne den anderen Code) werden.
Der von mir gepostete Codeansatz kümmert sich auch NUR um das erste Zeichen im Text und auch nur um die dt. Umlaute... Das könnte also alles noch etwas erweitert werden. War ja nur als Idee gedacht.
Wenn Du auch noch die Sache mit BBCode oder anderen Sonderzeichen vor "regulären" Buchstaben abdecken möchtest, mußt Du etwas tiefer in die Materie abtauchen:
Abriß der Möglichkeiten, ein Posting anzufangen:
¿Holla Welt?
[u]Hallo Welt[/u]
[size=150]Hallo Welt[/size]
[url=viewtopic.php?f=88&t=222018]hallo welt[/url]
[quote="miriam"]Hallo Welt[/quote]
:grin: Hallo Welt
:geek: :lol: Hallo Welt
Wo soll das enden?.. Und dann kommst Du um "RegExen" nicht herum.
Der von mir gepostete Codeansatz kümmert sich auch NUR um das erste Zeichen im Text und auch nur um die dt. Umlaute... Das könnte also alles noch etwas erweitert werden. War ja nur als Idee gedacht.
Wenn Du auch noch die Sache mit BBCode oder anderen Sonderzeichen vor "regulären" Buchstaben abdecken möchtest, mußt Du etwas tiefer in die Materie abtauchen:
Abriß der Möglichkeiten, ein Posting anzufangen:
¿Holla Welt?
[u]Hallo Welt[/u]
[size=150]Hallo Welt[/size]
[url=viewtopic.php?f=88&t=222018]hallo welt[/url]
[quote="miriam"]Hallo Welt[/quote]
:grin: Hallo Welt
:geek: :lol: Hallo Welt
Wo soll das enden?.. Und dann kommst Du um "RegExen" nicht herum.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Re: [BETA] Image First Postletters 2.0.0
@Miri(am):
mich beschleicht manchmal das Gefühl, dass du nicht immer alle Beiträge (richtig) liest:
ich hatte geschrieben:, oder? Die Variable sollte zu diesem Augenblick bereits in HTML vorliegen, bin mir aber nicht sicher !
Miri(am) schrieb:
Ich bleibe weiterhin am Ball - vielleicht geht bei mir dann die Sonne auf, mal sehen ...
Danke weiterhin für deine Hilfe !
so long
mich beschleicht manchmal das Gefühl, dass du nicht immer alle Beiträge (richtig) liest:
ich hatte geschrieben:
... da wird es sich meiner Meinung nach in erster Linie um HTML-Code handeln, also <b>...</b> anstelle von[...] Dies sollte mit RegExen zu lösen sein, aber ich kenne mich diesbezüglich noch gar nicht aus.
Code: Alles auswählen
[b]...[/b]
Code: Alles auswählen
$message
... dies hatte ich bereits bei deinem ersten Beitrag bemerkt (als du mit einem Beispielsatz angefangen hast - war trotzdem hilfreich, obwohl dies schon alles vorhanden war im Original) ...Die ganze Codegeschichte vorher von Würzi (?) hatte ich mir garnicht angeschaut. [...]
Miri(am) schrieb:
... oderHallo Welt
Code: Alles auswählen
[u]astalavista baby[/u]

Ich bleibe weiterhin am Ball - vielleicht geht bei mir dann die Sonne auf, mal sehen ...
Danke weiterhin für deine Hilfe !
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Cruisin' Orange - die Krönung unter den Styles
Re: [BETA] Image First Postletters 2.0.0
@BNa:
Hi, ich wollte mal nachfragen, was bei deinen Tests herausgekommen ist.
Ich habe bisher noch keine Lösung gefunden.
so long
Hi, ich wollte mal nachfragen, was bei deinen Tests herausgekommen ist.
Ich habe bisher noch keine Lösung gefunden.
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Cruisin' Orange - die Krönung unter den Styles
Re: [BETA] Image First Postletters 2.0.0
Für was denn eigentlich nochmal?Perlchamp hat geschrieben:Ich habe bisher noch keine Lösung gefunden.
Die Umlaute sollten ja geklärt sein, oder?
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
Re: [BETA] Image First Postletters 2.0.0
@BNa,
habe ich etwas übersehen ?
nein, es geht mir um die Umlaute, BNa. Hattest du dafür bereits eine Lösung gefunden ?
so long
habe ich etwas übersehen ?
nein, es geht mir um die Umlaute, BNa. Hattest du dafür bereits eine Lösung gefunden ?
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Cruisin' Orange - die Krönung unter den Styles
Re: [BETA] Image First Postletters 2.0.0
Erstelle drei neue *.gif > ae.gif, oe.gif, ue.gif. Dann nehme folgende Änderung am Original Code vor:
Finde
Ersetze mit
Dieser Code ist getestet.
Das Problem war der fehlende Multibyte Support von
Der Rest war dann ein schlichtes
Finde
Code: Alles auswählen
$first_letter = substr(($message), 0, 1);
$rest_text = substr(($message), 1, $letter_count);
$letter_image = strtolower ($first_letter);
$letter_path = "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'] . '/ifpl_images/';
if (preg_match('/^[a-zA-Z]/', $first_letter))
{
$first_letter = '<img src="' . $letter_path . $letter_image . '.gif" alt="' . $first_letter . '" /> ';
}
Code: Alles auswählen
$first_letter = mb_substr(($message), 0, 1);
$rest_text = mb_substr(($message), 1, $letter_count);
$letter_image = strtolower ($first_letter);
$letter_path = "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'] . '/ifpl_images/';
$letter_image = str_replace(array('Ä','Ö','Ü','ä','ö','ü'), array('ae','oe','ue','ae','oe','ue'), $letter_image);
$first_letter = '<img src="' . $letter_path . $letter_image . '.gif" alt="' . $first_letter . '" /> ';
Das Problem war der fehlende Multibyte Support von
substr()
und das preg_match()
was nur Nicht Umlaute zuliess. Der Rest war dann ein schlichtes
str_replace()
für die Umwandlung.Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
Re: [BETA] Image First Postletters 2.0.0
@BNa,
ein fettes "Merci" - auf dich kann man sich wirklich verlassen - Danke !
so long
ein fettes "Merci" - auf dich kann man sich wirklich verlassen - Danke !
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Cruisin' Orange - die Krönung unter den Styles
Re: [BETA] Image First Postletters 2.0.0
@BNa,
da ich beim Überprüfen einen Fehler entdeckt habe, möchte ich hier nun meine vorläufige "Endlösung" vorstellen.
das Problem nach BNa's Beitrag ist, dass z.B. BBCode als "einseitiger" HTML-Tag ausgegeben wurde. Durch das Filtern mittels "preg_match" (man kann auch andere Filter benutzen) werden also nur Buchstaben geändert, und BBCode dadurch übergangen.
Bna, dies kannst du einfach testen, indem du den ersten Buchstaben eines Beitrags mittels BBCode z.B. fett formatierst.
In diesem Sinne ...
so long
da ich beim Überprüfen einen Fehler entdeckt habe, möchte ich hier nun meine vorläufige "Endlösung" vorstellen.
Code: Alles auswählen
// [+] #22 PHPBB-MOD Image First Postletters #2.0.0
// Image First Postletter Begin
if ($user->data['user_first_letter'])
{
// [+] CODG-Modifikation #1 (@Miriam): trimmen
$message = ltrim($message);
// [-] CODG-Modifikation #1 (@Miriam): trimmen
$letter_count = (strlen($message));
$letter_count = $letter_count -1;
// [+] CODG-Modifikation #2 (@BNa): Multibyte-Support
$first_letter = mb_substr(($message), 0, 1);
$rest_text = mb_substr(($message), 1, $letter_count);
// [-] CODG-Modifikation #2 (@BNa): Multibyte-Support
$letter_image = strtolower ($first_letter);
$letter_path = "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'] . '/ifpl_images/';
// [+] CODG-Modifikation #3a: BBCode ausschliessen
if (preg_match('/^[a-zA-ZäöüÄÖÜ]/', $first_letter))
{
// [-] CODG-Modifikation #3a: BBCode ausschliessen
// [+] CODG-Modifikation #4 (@BNa): Umlaute verarbeiten
$letter_image = str_replace(array('Ä','Ö','Ü','ä','ö','ü'), array('ae','oe','ue','ae','oe','ue'), $letter_image);
// [-] CODG-Modifikation #4 (@BNa): Umlaute verarbeiten
$first_letter = '<img src="' . $letter_path . $letter_image . '.gif" alt="' . $first_letter . '" /> ';
$message = $first_letter . $rest_text;
// [+] CODG-Modifikation #3b: BBCode ausschliessen
}
// [-] CODG-Modifikation #3b: BBCode ausschliessen
}
// Image First Postletter End
// [-] #22 PHPBB-MOD Image First Postletters #2.0.0
Bna, dies kannst du einfach testen, indem du den ersten Buchstaben eines Beitrags mittels BBCode z.B. fett formatierst.
In diesem Sinne ...
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Cruisin' Orange - die Krönung unter den Styles
Re: [BETA] Image First Postletters 2.0.0
Wenn Du mir dieses "BBCode Problem" vorher geschildert hättest, hätte ich es berücksichtigen können.
Bin ja kein Gedankenleser, weil:
Dann also mal die komplette Lösung, ohne github Syntax.
Erstelle drei neue *.gif > ae.gif, oe.gif, ue.gif. Dann nehme folgende Änderung am Original Code vor:
Finde
Ersetze mit
Bin ja kein Gedankenleser, weil:
Von BBCodes war keine Rede.Perlchamp hat geschrieben:nein, es geht mir um die Umlaute, BNa.
Dann also mal die komplette Lösung, ohne github Syntax.
Erstelle drei neue *.gif > ae.gif, oe.gif, ue.gif. Dann nehme folgende Änderung am Original Code vor:
Finde
Code: Alles auswählen
$first_letter = substr(($message), 0, 1);
$rest_text = substr(($message), 1, $letter_count);
$letter_image = strtolower ($first_letter);
$letter_path = "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'] . '/ifpl_images/';
if (preg_match('/^[a-zA-Z]/', $first_letter))
{
$first_letter = '<img src="' . $letter_path . $letter_image . '.gif" alt="' . $first_letter . '" /> ';
}
Code: Alles auswählen
$first_letter = mb_substr(($message), 0, 1);
$rest_text = mb_substr(($message), 1, $letter_count);
$letter_image = strtolower ($first_letter);
$letter_path = "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'] . '/ifpl_images/';
if (preg_match('/^[a-zA-ZäöüÄÖÜ]/', $first_letter))
{
$letter_image = str_replace(array('Ä','Ö','Ü','ä','ö','ü'), array('ae','oe','ue','ae','oe','ue'), $letter_image);
$first_letter = '<img src="' . $letter_path . $letter_image . '.gif" alt="' . $first_letter . '" /> ';
}
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...