Hier geht es um die Sonderzeichenproblematik im Quelltext und im Dateisystem sowie um
eine Möglichkeit der Transformation.
Dazu habe ich eine Aufzählung mit den bei mir zu behandelnden Sonderzeichen erstellt.
A,Á,%C1,&Aacut;
A,À,%C0,&Agrav;
A,Â,%C2,&Acir;
A,Ã,%C3,&Atild;
a,á,%E1,&aacut;
a,à,%E0,&agrav;
a,â,%E2,&acir;
a,ã,%E3,&atild;
Ae,Ä,%C4,&Aum;
ae,ä,%E4,&aum;
C,Ç,%C7,&Ccedi;
c,ç,%E7,&ccedi;
E,É,%C9,&Eacut;
E,È,%C8,&Egrav;
E,Ê,%CA,&Ecir;
e,é,%E9,&eacut;
e,è,%E8,&egrav;
e,ê,%EA,≖
I,Í,%CD,&Iacut;
I,Ì,%CC,&Igrav;
i,í,%ED,&iacut;
i,ì,%EC,&igrav;
O,Õ,%D5,&Otild;
O,Ô,%D4,&Ocir;
O,Ó,%D3,&Oacut;
o,õ,%F5,&otild;
o,ô,%F4,⊚
o,ó,%F3,&oacut;
Oe,Ö,%D6,&Oum;
oe,ö,%F6,&oum;
U,Ú,%DA,&Uacut;
u,ú,%FA,&uacut;
Ue,Ü,%DC,&Uum;
ue,ü,%FC,&uum;
Muste die letzte Spalte um das letzte Zeichen kürzen, weil sonst ein Darstellungsfehler auftritt.
Erläuterung:
Das erste Zeichen ist das Ersatzzeichen, das zweite das Zeichen, wie es im Browser zu
sehen ist, das dritte, wie es im Dateisystem zu finden ist und das vierte, wie es im Quelltext
vorhanden ist. Zum dritten Zeichen bleibt hier zu sagen, das es auf Servern nicht einsetzbar
ist, wenn es über Browser aufgerufen werden soll und deshalb hier die Ersatzzeichen zum Einsatz kommen.
Die dazu gehörende Aufgabenstellung:
In einer vorbereiteten Datei stehen separiert in Zeilen Daten mit diesem Schema:
Instrução #<a href="http://www.website/pfad/zur/Datei/
Die Aufgabe ist zeilenweises Einlesen, überprüfen des Wortes vor dem # auf Sonderzeichen.
Wenn gefunden, mit dem ersten Zeichen der entsprechenden Zeile der
Auflistung austauschen. In beiden Fällen das originale oder das modifizierte Wort an das
Ende der Zeile schreiben.
Ein .php"> ist anzufügen. Zustand jetzt:
Instrução #<a href="http://www.website/pfad/zur/Datei/Instrucao.php">
Danach die Buchstaben des ersten Wortes gegebenenfalls mit den vierten Zeichen der
Auflistung austauschen, so das Wir die Bezeichnung für den Quellcode erhalten und fügen
das Endtag ein:</a>
Zustand jetzt:
Instrução #<a href="http://www.website/pfad/zur/Datei/Instrucao.php">
Instru&ccedi&atildo</a>
Jedes erste Wort vor dem # soll in eine Datei "Dateinamen" geschrieben werden.
Entweder als Original oder als von Sonderzeichen befreites Wort.
Fertig.
Ablaufplan:
Einlesen in Array Sonderzeichentabelle
[0] = Ersatzzeichen
[1] = Suchzeichen
[2] = Dateisystemzeichen
[3] = Quellcodezeichen
Lies erste Zeile von "Vorbereitet.txt"
Lies das Wort vor #
Überprüfe, ob die Buchstaben in [1] vorkommen.
Wenn ja, tausche mit [0] aus.
Schreibe das Wort in Datei "Dateinamen".
Schreibe das Wort ans Ende der Zeile und füge .php"> ein.
Immer noch wenn ja, tausche mit [3] aus, schreibe ans Ende der Zeile und füge </a> an.
Wenn nein, schreibe das Wort in die Datei "Dateinamen".
Schreibe das Wort ans Ende der Zeile und füge .php"> ein.
Schreibe das Wort ans Ende der Zeile und füge </a> an.
Fertig.
Umsetzungsversuch:
Mit diesem Code habe ich jetzt eine Zeile ansprechbar über $teile[0] / $teile[1] .
Daraus ergeben sich folgende Fragen:
Wie definiere ich, das $teile[0] (das zu überprüfende Wort) buchstabenweise mit allen Array[1] der
Transformationsaufzählung verglichen wird.
Wie binde ich am besten diese Transformationsaufzählung ein?
Soll ich sie im Code selber zeilenweise aufbauen (bitte ein Beispiel einer Zeile) oder als eigene Datei
einlesen lassen oder was ist das beste Vorgehen, damit $teile[0] buchstabenweise mit allen Sonderzeichen des Array[1] verglichen wird?
Gruß
Estrela
eine Möglichkeit der Transformation.
Dazu habe ich eine Aufzählung mit den bei mir zu behandelnden Sonderzeichen erstellt.
A,Á,%C1,&Aacut;
A,À,%C0,&Agrav;
A,Â,%C2,&Acir;
A,Ã,%C3,&Atild;
a,á,%E1,&aacut;
a,à,%E0,&agrav;
a,â,%E2,&acir;
a,ã,%E3,&atild;
Ae,Ä,%C4,&Aum;
ae,ä,%E4,&aum;
C,Ç,%C7,&Ccedi;
c,ç,%E7,&ccedi;
E,É,%C9,&Eacut;
E,È,%C8,&Egrav;
E,Ê,%CA,&Ecir;
e,é,%E9,&eacut;
e,è,%E8,&egrav;
e,ê,%EA,≖
I,Í,%CD,&Iacut;
I,Ì,%CC,&Igrav;
i,í,%ED,&iacut;
i,ì,%EC,&igrav;
O,Õ,%D5,&Otild;
O,Ô,%D4,&Ocir;
O,Ó,%D3,&Oacut;
o,õ,%F5,&otild;
o,ô,%F4,⊚
o,ó,%F3,&oacut;
Oe,Ö,%D6,&Oum;
oe,ö,%F6,&oum;
U,Ú,%DA,&Uacut;
u,ú,%FA,&uacut;
Ue,Ü,%DC,&Uum;
ue,ü,%FC,&uum;
Muste die letzte Spalte um das letzte Zeichen kürzen, weil sonst ein Darstellungsfehler auftritt.
Erläuterung:
Das erste Zeichen ist das Ersatzzeichen, das zweite das Zeichen, wie es im Browser zu
sehen ist, das dritte, wie es im Dateisystem zu finden ist und das vierte, wie es im Quelltext
vorhanden ist. Zum dritten Zeichen bleibt hier zu sagen, das es auf Servern nicht einsetzbar
ist, wenn es über Browser aufgerufen werden soll und deshalb hier die Ersatzzeichen zum Einsatz kommen.
Die dazu gehörende Aufgabenstellung:
In einer vorbereiteten Datei stehen separiert in Zeilen Daten mit diesem Schema:
Instrução #<a href="http://www.website/pfad/zur/Datei/
Die Aufgabe ist zeilenweises Einlesen, überprüfen des Wortes vor dem # auf Sonderzeichen.
Wenn gefunden, mit dem ersten Zeichen der entsprechenden Zeile der
Auflistung austauschen. In beiden Fällen das originale oder das modifizierte Wort an das
Ende der Zeile schreiben.
Ein .php"> ist anzufügen. Zustand jetzt:
Instrução #<a href="http://www.website/pfad/zur/Datei/Instrucao.php">
Danach die Buchstaben des ersten Wortes gegebenenfalls mit den vierten Zeichen der
Auflistung austauschen, so das Wir die Bezeichnung für den Quellcode erhalten und fügen
das Endtag ein:</a>
Zustand jetzt:
Instrução #<a href="http://www.website/pfad/zur/Datei/Instrucao.php">
Instru&ccedi&atildo</a>
Jedes erste Wort vor dem # soll in eine Datei "Dateinamen" geschrieben werden.
Entweder als Original oder als von Sonderzeichen befreites Wort.
Fertig.
Ablaufplan:
Einlesen in Array Sonderzeichentabelle
[0] = Ersatzzeichen
[1] = Suchzeichen
[2] = Dateisystemzeichen
[3] = Quellcodezeichen
Lies erste Zeile von "Vorbereitet.txt"
Lies das Wort vor #
Überprüfe, ob die Buchstaben in [1] vorkommen.
Wenn ja, tausche mit [0] aus.
Schreibe das Wort in Datei "Dateinamen".
Schreibe das Wort ans Ende der Zeile und füge .php"> ein.
Immer noch wenn ja, tausche mit [3] aus, schreibe ans Ende der Zeile und füge </a> an.
Wenn nein, schreibe das Wort in die Datei "Dateinamen".
Schreibe das Wort ans Ende der Zeile und füge .php"> ein.
Schreibe das Wort ans Ende der Zeile und füge </a> an.
Fertig.
Umsetzungsversuch:
PHP-Code:
<?php
$ArbDat = 'Vorbereitet.txt';
$ArbZ = file ("$ArbDat");
foreach ($ArbZ as $value) {
$teile = explode("#", $value);
}
echo $teile[1];
?>
Daraus ergeben sich folgende Fragen:
Wie definiere ich, das $teile[0] (das zu überprüfende Wort) buchstabenweise mit allen Array[1] der
Transformationsaufzählung verglichen wird.
Wie binde ich am besten diese Transformationsaufzählung ein?
Soll ich sie im Code selber zeilenweise aufbauen (bitte ein Beispiel einer Zeile) oder als eigene Datei
einlesen lassen oder was ist das beste Vorgehen, damit $teile[0] buchstabenweise mit allen Sonderzeichen des Array[1] verglichen wird?
Gruß
Estrela
Kommentar