it-swarm.com.de

Tool zum Konvertieren von Zeichen mit Akzent in HTML-Entitäten?

Gibt es ein Tool (Befehlszeile ist in Ordnung), mit dem Zeichen mit Akzent in HTML-Entitäten in Ubuntu konvertiert werden können? Vorzugsweise rekursiv und ohne auch HTML/PHP-Tags zu konvertieren.

e.g.
from: é
to: é
or: é
7
bafromca

Recode kann in HTML-Entitäten konvertieren:

$ echo "é" | recode ..html
é

In recode sind einige geringfügig unterschiedliche HTML-Transformationen verfügbar. siehe info recode HTML.

Wenn Sie eine Datei oder einige Dateien neu codieren möchten, können Sie verwenden

$ recode ..html one_file another_file and so on

Verwenden Sie für rekursive Aktionen den Befehl find, z.

$ find your_directory -type f -name "*.html"

Der obige Befehl find zeigt nur die Dateien an. Bitte stellen Sie sicher, dass Sie nur die richtigen Dateien gefunden haben, keine Binärdateien und keine Dateien in unerwünschten Verzeichnissen. Es ist auch eine gute Idee, ein Backup zu erstellen oder eine Kopie Ihrer Dateien zu verwenden, nicht der tatsächlichen Dateien. Wenn Sie den richtigen Suchbefehl gefunden haben, fügen Sie -exec your_command {} + hinzu, wobei Ihr_Befehl der ist recode ..html von oben und {} bezeichnet die Datei (en), die von find zur Neucodierung angegeben werden:

$ find your_directory -type f -name "*.html" -exec recode ..html {} +

Aber Moment mal, es gibt eine große Einschränkung: recode ..html setzt voraus, dass sich Ihre Eingabedateien in demselben Zeichensatz (Codierung) befinden, den Sie in der Befehlszeile verwenden. Wenn alle Ihre Dateien das "moderne" UTF-8 verwenden, funktioniert es einwandfrei, da Ubuntu UTF-8 vom Standard verwendet. Wenn jedoch einige Ihrer Dateien den älteren Zeichensatz ISO-8859-1 oder einen anderen Zeichensatz verwenden, wird dies erheblich komplizierter.

7
elmicha

Inspiriert von dem Vorschlag von Denwerko zur Verwendung als Sed habe ich ein gut dokumentiertes, leicht lesbares Open-Source-Bash-Skript geschrieben, das akzentuierte Buchstaben in HTML-Entitäten konvertiert. Sie finden es hier: http://www.lugato.co.uk/silvio_dwl.html Viel Spaß! ;)

0
silvio

wahrscheinlich sed. Tutorial hier

http://www.grymoire.com/Unix/Sed.html#uh-6

zum Beispiel, vielleicht Befehl

sed s/"é"/"\&#233"/g < oldfile > newfile

(Repariere mich, wenn ich falsch liege, habe ich eine Weile nicht gesehen)

GUI

wahrscheinlich standardmäßig installiertes gedit, strg + h

0
Denwerko

Überprüfen Sie die Quelle von http://www.text-symbols.com/tools/escape-chars/

Nehmen Sie dieses Javascript, führen Sie es in einer js-Umgebung aus, die einige IO (node.js) ausführen kann, und verwenden Sie einfach find -exec, um alle Dateien zu finden, die konvertiert werden sollen, und führen Sie Ihren knotenbasierten Konverter auf allen aus notwendige Dateien.

0
Dmitriy Likhten