Tôi là một tổng noob python vì vậy hãy chịu với tôi. Tôi muốn có python quét một trang html và thay thế các thể hiện của các thực thể Microsoft Word bằng một cái gì đó tương thích UTF-8.Một số câu hỏi Python cơ bản
Câu hỏi của tôi là, làm thế nào để bạn làm điều đó trong Python (Tôi đã google này nhưng chưa tìm thấy một câu trả lời rõ ràng cho đến nay)? Tôi muốn nhúng ngón chân vào vùng biển Python vì vậy tôi hình một thứ đơn giản như thế này là một nơi tốt để bắt đầu. Có vẻ như rằng tôi sẽ cần phải:
- tải văn bản dán từ MS Word vào một biến
- chạy một số loại thay thế chức năng về nội dung
- đầu ra nó
Trong PHP tôi sẽ làm như sau:
$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);
Bạn sẽ làm điều đó bằng Python bằng cách nào?
EDIT: Hmmm, ok bỏ qua sự nhầm lẫn của tôi về UTF-8 và các thực thể cho thời điểm này. Dữ liệu nhập chứa văn bản được dán từ MS Word. Những thứ như dấu ngoặc kép được hiển thị dưới dạng biểu tượng kỳ lạ. Các hàm PHP khác nhau mà tôi đã sử dụng để thử và khắc phục nó không mang lại cho tôi kết quả mong muốn. Bằng cách xem những biểu tượng kỳ lạ trong một trình soạn thảo hex tôi thấy rằng chúng tương ứng với các ký hiệu tôi đã sử dụng ở trên (0xe2, 0x80 vv). Vì vậy, tôi chỉ đơn giản là hoán đổi các ký tự kỳ quặc với các thực thể HTML. Vì vậy, nếu bit tôi đã ở trên đã IS UTF-8, những gì đang được dán trong từ MS Word đó là gây ra các biểu tượng kỳ lạ?
EDIT2: Vì vậy, tôi đặt ra để tìm hiểu một chút về Python và thấy rằng tôi không thực sự hiểu mã hóa. Vấn đề tôi đã cố gắng giải quyết có thể được xử lý đơn giản bằng cách mã hóa không nhất quán từ đầu đến cuối. Nếu biểu mẫu đầu vào là UTF-8, cơ sở dữ liệu lưu trữ đầu vào là UTF-8 và trang kết quả đầu ra là UTF-8 ... việc dán từ Word hoạt động tốt. Không có chức năng đặc biệt cần thiết. Bây giờ, về việc học một chút Python ...
+1: "defangWord()" ... Tôi thích nó! :-) –