datux74
Goto Top

automatisiert alle tags in html Dateien klein schreiben

suche programm oder script das mir in mehreren html Dateien alle html tags in kleinschreibung verwandelt

Hallo Gemeinde,

folgendes, arbeitsreiches Problem hat mich erwischt.
Es soll eine alte, komplexe Website bei einem neuen Provider gehosted werden. Leider hat der Ersteller dieser Website sämtliche internen LInks und Bilder mit Groß- und Kleinschreibung benannt. Und, wie es natürlich kommen muss, die Links und img Tags passen überhaupt nicht zu den Dateinamen. Überall ist die Groß und Kleinschreibung verwechselt.
Bis dato lief diese Website auf einem Windows Host der diese Fehler großzügig verziehen hat. Ich bin nun der Dumme und muss diese Website auf einem Standard Hosting zum laufen bringen.

Meine Idee dazu war nun automatisiert alle Links in den html Dateien klein zu schreiben. Dazu könnte z.B. die Regel dienen das zwischen zwei Anführungszeichen alles in Kleinschreibung verwandelt wird. Somit werden u.a. alle Links und img Tags einheitlich klein geschrieben.

Analog dazu müsste alle Dateien und Verzeichnisse in Kleinschreibung gesetzt werden. Da habe ich schon ein Programm gefunden das so etwas macht.

Große Frage: Fällt jemand von Euch eine Lösung ein wie ich die erdachte Regel (= alles innerhalb von Anführungszeichen in KLeinschreibung verwandeln) mit möglichst wenig Aufwand auf alle html Dateien anwenden kann ? Vielleicht gibt es ja ein Programm oder Editor das so eine Funtion bietet ??

besten Dank für Eure Hilfe

datux74,
Andreas Lang

Content-ID: 126682

Url: https://administrator.de/contentid/126682

Ausgedruckt am: 20.11.2024 um 17:11 Uhr

godlie
godlie 08.10.2009 um 10:27:15 Uhr
Goto Top
Hallo,

das was du suchst nennt sich Regular Expressions.
Mithilfe von Regular Expressions kannst du bestimmte Suchmuster und auch Ersetmuster erstellen.

Hast du die Möglichkeit etwas in php zu schreiben?
datux74
datux74 08.10.2009 um 10:44:18 Uhr
Goto Top
Hallo und danke für die Nachricht.
Bin vollig offen dafür auf welche Art und Weise das Problem gelöst wird. Es sind halt mehrere Dateien und auch in Unterordnern die nach Möglichkeit in einem Rutsch geändert werden sollen.
Hast Du zufällig ein Snippet wie so ein Such- und Ersetzvorgang in PHP aussehen könnte ?

Grüße, datux74
godlie
godlie 08.10.2009 um 13:44:35 Uhr
Goto Top
So im groben Abriss:

$fpRead = fopen("test.htm", "r") or die("can't read stdin");  
$fpWrite = fopen("test2.htm","w") or die("can't open output");  
while (!feof($fpRead)) {
    $line = fgets($fpRead);
    $te = preg_replace_callback('/"(.*?)"/',create_function( '$matches','var_dump($matches);return strtolower($matches);'),$line);  
    fwrite($fpWrite,$te);
}
fclose($fpRead);
fclose($fpWrite);

Bei fpRead einfach was anderes als test.htm eintragen und bei fpWrite auch was anderers dann kansnt du deine DAteien durchparsen lassen.
Diese Sache sucht sich alles was zwischen 2 " steht und setzt selbiges klein.

Bezüglich der Unterordner da würde mir ein dir /b /s mal weiterhelfen damit ich weis wovon wir hier reden´,
ein so ein "Crawler" is gleich gebaut...
datux74
datux74 08.10.2009 um 14:17:28 Uhr
Goto Top
danke, für den Vorschlag, werde es möglichst bald testen. Wenn es funktioniert, kann ich ja noch ein Schleife darum bauen die rekursiv alle Dateien *.html Dateien durchläuft.
datux74
datux74 09.10.2009 um 10:09:48 Uhr
Goto Top
hat super funktioniert, jetzt wo alle html attributwerte und damit auch die links einheitlich kleingeschrieben sind, funktioniert auch die Website wieder.
Danke!