Soy un novato total de Python, por favor tengan paciencia conmigo. Quiero que python escanee una página de html y reemplace instancias de entidades de Microsoft Word con algo compatible con UTF-8.Algunas preguntas básicas de Python
Mi pregunta es, ¿cómo se hace eso en Python (lo he buscado en Google pero hasta ahora no he encontrado una respuesta clara)? Quiero sumergir mi dedo del pie en las aguas de Python, así que creo que algo tan simple como este es un buen lugar para comenzar. Parece que yo tendría que:
- carga texto pegado de MS Word en una variable
- plazo algún tipo de reemplazar la función de los contenidos
- de salida que
En PHP que lo haría hazlo así:
$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);
¿Cómo lo harías en Python?
EDITAR: Hmmm, vale, ignora mi confusión sobre UTF-8 y entidades por el momento. La entrada contiene texto pegado de MS Word. Las cosas como las comillas están apareciendo como símbolos impares. Varias funciones de PHP que utilicé para tratar de arreglarlo no me daban los resultados que quería. Al ver esos símbolos impares en un editor hexadecimal, vi que correspondían a los símbolos que utilicé anteriormente (0xe2, 0x80, etc.). Así que simplemente cambié los caracteres extraños con entidades HTML. Entonces, si el bit que tengo arriba ya es UTF-8, ¿qué está pegando desde MS Word que está causando los símbolos impares?
EDIT2: Así que me puse a aprender un poco sobre Python y descubrí que realmente no entiendo la codificación. El problema que estaba tratando de resolver se puede manejar simplemente teniendo una codificación independiente de extremo a extremo. Si el formulario de entrada es UTF-8, la base de datos que almacena la entrada es UTF-8 y la página que lo genera es UTF-8 ... pegar desde Word funciona bien. No se necesitan funciones especiales. Ahora, sobre aprender un poco de Python ...
+1: "defangWord()" ... ¡Me encanta! :-) –