Sono un noob in vero pitone quindi per favore abbiate pazienza con me. Voglio che Python esegua la scansione di una pagina di html e sostituisca le istanze di Microsoft Word con qualcosa di compatibile con UTF-8.Alcune domande Python di base
La mia domanda è, come si fa a farlo in Python (ho cercato su Google questo, ma non ho trovato una risposta chiara finora)? Voglio immergere l'alluce nelle acque di Python, quindi immagino che qualcosa di semplice come questo sia un buon punto di partenza. Sembra che avrei bisogno di:
- carico testo incollato da MS Word in una variabile
- corsa una sorta di funzione di sostituzione sui contenuti
- output
In PHP vorrei fai così:
$test = $_POST['pasted_from_Word']; //for example “Going Mobile”
function defangWord($string)
{
$search = array(
(chr(0xe2) . chr(0x80) . chr(0x98)),
(chr(0xe2) . chr(0x80) . chr(0x99)),
(chr(0xe2) . chr(0x80) . chr(0x9c)),
(chr(0xe2) . chr(0x80) . chr(0x9d)),
(chr(0xe2) . chr(0x80) . chr(0x93)),
(chr(0xe2) . chr(0x80) . chr(0x94)),
(chr(0x2d))
);
$replace = array(
"‘",
"’",
"“",
"”",
"–",
"—",
"–"
);
return str_replace($search, $replace, $string);
}
echo defangWord($test);
Come lo faresti in Python?
EDIT: Hmmm, ok ignorare la mia confusione su UTF-8 e le entità per il momento. L'input contiene il testo incollato da MS Word. Cose come le virgolette ricci appaiono come simboli dispari. Varie funzioni PHP che ho provato a sistemare non mi davano i risultati che volevo. Visualizzando quei simboli dispari in un editor esadecimale ho visto che corrispondevano ai simboli che ho usato sopra (0xe2, 0x80 ecc.). Quindi ho semplicemente scambiato i personaggi stravaganti con le entità HTML. Quindi se il bit che ho sopra è già UTF-8, cosa viene incollato da MS Word che causa i simboli dispari?
EDIT2: Così ho deciso di imparare un po 'di Python e ho scoperto che non capisco veramente la codifica. Il problema che stavo cercando di risolvere può essere gestito semplicemente avendo una codifica incisiva da un capo all'altro. Se il modulo di input è UTF-8, il database che archivia l'input è UTF-8 e la pagina che lo emette è UTF-8 ... incollare da Word funziona correttamente. Non sono necessarie funzioni speciali. Ora, riguardo l'apprendimento di un piccolo Python ...
+1: "defangWord()" ... Lo adoro! :-) –