Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Weizen Cheffe

Alter: 35 Anmeldungsdatum: 08.04.2002 Beiträge: 3571 Wohnort: Deizisau
|
Verfasst am: 10.05.2002 - 19:51
Titel: Symbol-Tag |
|
|
Χαιρετε!
Zuletzt bearbeitet von Weizen am 28.12.2004 - 13:06, insgesamt ein Mal bearbeitet |
|
Nach oben |
|
 |
Weizen Cheffe

Alter: 35 Anmeldungsdatum: 08.04.2002 Beiträge: 3571 Wohnort: Deizisau
|
Verfasst am: 10.05.2002 - 20:00
Titel: |
|
|
Damit ihr auch halbwegs richtig Griechisch reden könnte hab ich mal einen Symbol-Tag eingebaut. Text, der zwischen [symbol] und [/symbol] steht wird in der Schriftart Symbol angezeigt.
Die Schriftgröße ist auf 16px gestellt, im Gegensatz zu den 12px bei normalem Text. Wenn du (wie im oberen Posting) eine andere Schriftgröße eingestellt haben willst, dann muss der size-Tag innerhalb des Symbol-Tags stehen, sonst wird die Schriftgröße ignoriert.
Also richtig: [symbol][size=24]Cairete![/size][/symbol]
Und falsch: [size=24][symbol]Cairete![/symbol][/size]
Zur Erklärung: Im ersten Fall wird die Schriftart auf Symbol, die Größe auf 16 und danach die Größe auf 24 gestellt. Im zweiten Fall wird zuerst die Größe auf 24, dann die Schrift auf Symbol und die Größe wieder auf 16 gestellt. Vor Allem bei einzelnen griechischen Wörtern in größer geschriebenem Text also drandenken!
Viel Spaß damit! _________________ SYNTAX? Why not - they tax everything else! |
|
Nach oben |
|
 |
Weizen Cheffe

Alter: 35 Anmeldungsdatum: 08.04.2002 Beiträge: 3571 Wohnort: Deizisau
|
Verfasst am: 28.12.2004 - 13:11
Titel: |
|
|
Ab sofort ist der symbol-Tag vollkommen anders implementiert und funktioniert damit auch in Mozilla und Firefox. Statt einfach eine andere Schriftart zu verwenden werden jetzt alle Buchstaben durch ihre Entsprechungen in der Schriftart Symbol ersetzt, also z.B. a durch α (α), h durch η (η) usw.
Dadurch gibt es eine wichtige Änderung in der Benutzung des Symbol-Tags: War es bisher so, dass [symbol] außen und alle weiteren Textauszeichnungen innnen stehen mussten, so ist es jetzt gerade umgekehrt.
Also richtig: [size=24][symbol]Cairete![/symbol][/size]
Und falsch: [symbol][size=24]Cairete![/size][/symbol]
Letzteres führt zu folgendem Ergebnis:
<σπαν στψλε="φοντ-σιζε: 24πξ; λινε-ηειγητ: νορμαλ">Χαιρετε!
Das heißt, der HTML-Code, der die Schriftgröße ändert, wird ebenfalls durch griechische Buchstaben ersetzt. _________________ SYNTAX? Why not - they tax everything else! |
|
Nach oben |
|
 |
Weizen Cheffe

Alter: 35 Anmeldungsdatum: 08.04.2002 Beiträge: 3571 Wohnort: Deizisau
|
Verfasst am: 29.12.2004 - 17:03
Titel: |
|
|
Und weiter gehts: Ich habe die Funktion jetzt etwas umgeschrieben; jetzt wird HTML-Code genauso wie Smilies und benannte Zeichen nicht mehr umgewandelt, d.h. man sollte in [symbol]-Blöcken genauso schreiben können wie außerhalb (Klärt mich auf, wenn ich mich täuschen sollte ) _________________ SYNTAX? Why not - they tax everything else! |
|
Nach oben |
|
 |
Kwolfli Modiator

Alter: 33 Anmeldungsdatum: 11.04.2002 Beiträge: 2804 Wohnort: Hohenhaslach
|
Verfasst am: 29.12.2004 - 17:32
Titel: |
|
|
Den passenden Code könntest du gleich zum kwf beitragen. Da geht bisher auch innerhalb des greek-Tags nichts anderes mehr.  _________________ The first 90% of the code accounts for the first 90% of the development time.
The remaining 10% of the code accounts for the other 90% of the development time. |
|
Nach oben |
|
 |
Weizen Cheffe

Alter: 35 Anmeldungsdatum: 08.04.2002 Beiträge: 3571 Wohnort: Deizisau
|
Verfasst am: 29.12.2004 - 17:43
Titel: |
|
|
Auszug aus der bbcode.tpl, function bbencode_first_pass:
Code: | $text = preg_replace("#\[symbol\](.*?)\[/symbol\]#si", "[symbol:$uid]\\1[/symbol:$uid]", $text); |
Auszug aus der bbcode.tpl, function bbencode_second_pass (ganz unten, wo bereits alles Andere in HTML umgewandelt ist):
Code: | $text = preg_replace("#\[symbol:$uid\](.+?)\[/symbol:$uid\]#ies", "symbolify('\\1')", $text); |
Neue Funktion in der functions.php:
Code: | function symbolify($text)
{
$alt = array ("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
"L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
"W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r",
"s", "t", "u", "v", "w", "x", "y", "z");
$neu = array ("Α", "Β", "Χ", "Δ", "Ε",
"Φ", "Γ", "Η", "Ι", "ϑ",
"Κ", "Λ", "Μ", "Ν", "Ο",
"Π", "Θ", "Ρ", "Σ", "Τ",
"Υ", "ς", "Ω", "Ξ", "Ψ",
"Ζ", "α", "β", "χ", "δ",
"ε", "φ", "γ", "η", "ι",
"φ", "κ", "λ", "μ", "ν",
"ο", "π", "θ", "ρ", "σ",
"τ", "υ", "ϖ", "ω", "ξ",
"ψ", "ζ");
$erg = "";
$ignore = false;
// HTML / benannte Zeichen nicht symbolifizieren!
$text = str_replace ('\"', '"', $text);
// Damit HTML funktioniert
$text = str_replace ('&', '&', $text);
// Damit direkt eingegebene benannte Zeichen funktionieren
for ($i = 0; $i < strlen($text); $i++)
{
$ersetzt = false;
if (($text[$i] == "<") || ($text[$i] == "&"))
// HTML-Block / benannte Zeichen ignorieren
{
$ignore = true;
}
elseif (($text[$i] == ">") || ($text[$i] == ";"))
// HTML-Block zu Ende
{
$ignore = false;
}
elseif (!$ignore)
// Zeichen nicht in einem HTML-Block oder benannten Zeichen
{
for ($j = 0; $j < 52; $j++)
// Entsprechung suchen und ersetzen
{
if ($text[$i] == $alt[$j])
{
$erg .= $neu[$j];
$ersetzt = true;
}
}
}
if (!$ersetzt) $erg .= $text[$i];
// Wenn nichts ersetzt wurde
}
// Jetzt müssen nur noch die Smilies wiederhergestellt werden:
$erg = str_replace(":Δ", ":D", $erg);
$erg = str_replace(":εεκ:", ":eek:", $erg);
$erg = str_replace(":χοολ:", ":cool:", $erg);
$erg = str_replace(":μαδ:", ":mad:", $erg);
$erg = str_replace(":Π", ":P", $erg);
$erg = str_replace(":ρ ολλεψ" .
"εσ:", ":rolleyes:", $erg);
$erg = str_replace(":τοπ:", ":top:", $erg);
$erg = str_replace(":φλοπ:", ":flop:", $erg);
$erg = str_replace(":χονφυσε" .
"δ:", ":confused:", $erg);
$erg = str_replace(":ιδεα:", ":idea:", $erg);
$erg = str_replace(":αρροω:", ":arrow:", $erg);
$erg = str_replace(":χρψ:", ":cry:", $erg);
$erg = str_replace(":φροων:", ":frown:", $erg);
$erg = str_replace(":ωηατ:", ":what:", $erg);
$erg = str_replace(":εϖιλ:", ":evil:", $erg);
$erg = str_replace(":κεκσ:", ":keks:", $erg);
$erg = str_replace(":βισσ:", ":biss:", $erg);
return $erg;
} |
_________________ SYNTAX? Why not - they tax everything else! |
|
Nach oben |
|
 |
Weizen Cheffe

Alter: 35 Anmeldungsdatum: 08.04.2002 Beiträge: 3571 Wohnort: Deizisau
|
Verfasst am: 29.12.2004 - 21:50
Titel: |
|
|
Ich häng das hier einfach mal mit dran: Benannte Zeichen werden jetzt auch in der Vorschau und im Topic Review ("Thema-Überblick", der iframe beim Antwort erstellen) richtig dargestellt; außerdem gibt es soweit ich das sehe keine Probleme mehr, wenn mehrere dieser Zeichen direkt aufeinander folgen  _________________ SYNTAX? Why not - they tax everything else! |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
Powered by phpBB 2.0.20 © 2001-2005 phpBB Group
|