Text-Processing
如何將html實體轉換為可讀文本?
我想要像 ę 這樣的 html 數字實體 並想將其轉換為真實角色。我的郵件大多來自linkedin,看起來像這樣:
想要 & # x142; 讓我問 & # x107; 如果你也考慮參與 & # x142; 在華沙的新項目中?我們目前正在尋找具有非常好的 & # x105; 的 javascript 專家/架構師。熟人 & # x15b; 你 & # x105; Angular.js 用於一個涉及監控和管理車隊的系統的項目。車輛 & # xf3; w. 我們正在尋找的團隊
我正在使用clawsmail,切換到html不要將其轉換為文本,我嘗試複製和使用
xclip -o -sel clip | html2text | less
但它沒有轉換實體。有沒有辦法使用命令行工具獲得該文本?
我能想到的唯一方法是
data:text/html,<PASTE THE EMAIL>
在瀏覽器中使用和打開它,但更喜歡命令行。
使用 Free
recode
(以前稱為 GNUrecode
):recode html < file
如果您沒有
recode
或HTML::Entities
只需要解碼<hex>;
實體,您可以通過以下方式手動完成:perl -Mopen=locale -pe 's/&#x([\da-f]+);/chr hex $1/gie'
從如何解碼 HTML 實體?在 StackOverflow 上,您也許可以實現一個簡單的 perl 解決方案,例如
perl -Mopen=locale -MHTML::Entities -pe '$_ = decode_entities($_)' email.txt
例如使用您的範例文本
$ perl -Mopen=locale -MHTML::Entities -pe '$_ = decode_entities($_)' email.txt chciałabym zapytać, czy rozważa Pan takze udział w nowych projektach w Warszawie ? Obecnie poszukujemy specjalisty javascript/architekta z bardzo dobrą znajomością Angular.js do projektu, który dotyczy systemu, służącego do monitorowania i zarządzania flotą pojazdów. Zespół, do którego poszukujemy
使用
-Mopen=locale
,I/O 是在語言環境的字元集中完成的。這包括來自email.txt
. 它看起來email.txt
只包含 ASCII 字元(使用<hex>;
我想的符號對這些字元進行編碼的全部要點),但如果不是,您可能需要調整上述內容以使用正確的字元集解碼該文件(如果它與語言環境的不同)一)而不是使用open=locale
.