2013-01-24 17 views
7

İnsanlar temizlemek için, bu yüzden Word belgelerinin bir sürü HTML dönüştürmek için olsun. Sadece temel formatı korumak istiyorum - başlıklar, listeler ve vurgu - resim yok.HTML Word kullanan web siteme içerik göndermek

Onları Libre Office "HTML olarak kaydet" ile dönüştürdüğümde, sonuçta ortaya çıkan dosyalar çok büyüktür, örneğin, 112K bir doc dosyası 450K HTML olur, çoğu işe yaramaz FONT ve SPAN etiketleri (her nedense, her bir noktalama işareti kendi aralığına eklenmiştir!).

Bu betiği denedim: http://www.techrepublic.com/blog/opensource/how-to-convert-doc-and-odf-files-to-clean-and-lean-html/3708 düzenli ve sed temelli ve boyutu yaklaşık 150 K'ye düşürdü, ancak hala birçok yararsız SPAN var.

kopyalamak ve geçmiş Kompozer içine çalıştı - Bir HTML editörü ve sonra HTML olarak kaydetmek; ama tüm Latin olmayan (İbranice) mektuplarımı, "ְ" gibi varlıklara dönüştürdü;

temiz HTML oluşturmak için basit bir yolu var mı ... https://github.com/holloway/docvert/issues/6 ama bağımlılıkları sonsuz yolu gibi görünüyor başka kütüphaneleri gerektiren bir piton kütüphane, vb gerektirdiğini öğrendim:

Ben docvert çalıştı Office belgelerinden senin durumda

+0

Muhtemelen bir kopyası: http://stackoverflow.com/questions/67964/what-is-the-best-free-way-to-clean-up-word-html/1813798#1813798 –

cevap

0

, herhangi bir ek etiketleri geri dönün ve temizleme sonra, hat-by-line gitmek için kelime doc ana parçalarını dönüştürmek gerekebilir. Bu yaklaşımı sakıncası yoksa, o zaman Notepad ++ aynı web sayfasını açın bir web sayfası olarak word doc kaydettikten sonra ...

  1. bu çözümü düşünün.
  2. Sonra bulmak içinde bu belgeye
  3. için Değiştir özelliğini kullanmak < yılında Aranan kutusuna [^>] +> Bu aynı pencere için arama modunda
  4. , "Düzenli ifadeyi"
seçmek

Artık o noktadan itibaren yapmanız gereken size değiştirmek ve daha sonra değiştirilmesi gerektiğini her etiket için Değiştir tıklayın istediğiniz etiketleri elde edene kadar Sonraki bul tıklayın olduğunu. "Şununla değiştir:" kutusunun boş olduğundan emin olun.

orada daha kolay bir yoludur, ancak bu şekilde% 100 özgür ve ++ Notepad ile HTML etiketi temizleme işleme basit olup olmadığını bilmiyorum.

buldum Bildiğim kadarıyla, ... bu uygulamayı deneyin (gereksiz etiketleri değiştirdikten sonra ikinci süreç olarak önerilir) dış CSS http://inlinecssextractor.com/home.html

İyi şanslar

+0

Notepad'i kullanma ++ Tek bir belge için bir çözüm olmakla birlikte, her hafta yeni belgelerim olduğu için, her bir belge için aynı yenilemeleri tekrar tekrar yapmak istemiyorum ... –

0

inline-stilleri dönüştürme gibi bu iki temizleyiciler oldukça etkilidir. Birincisi, Sonra listeleri (li) bazı imli paragraf öğeleri dönüştürmek için bazı normal ifadeleri kullanıldı

http://textism.com/wordcleaner/

içinden html süzülmüş kelimeyi koştu. Sonra sırasız liste (ul) etiketleri ile liste öğelerini sarın ve diğer hataları temizlemek için

http://infohound.net/tidy/

yoluyla sonucunu koştu. 1,5 milyondan 225 bin'e çıkan sonuçtan çok memnun kaldım.

0

MS Word'ün belgeyi HTML olarak kaydetme seçeneği sunduğu anlaşılana kadar http://word2cleanhtml.com/ kullanıyordum.

Bunu seçerek, .docx dosyası .html olur ve gördüğüm bir sözcüğün en iyi html sürümüdür. Bu tüm çevrimiçi araçlardan kesinlikle daha iyi.

1

Bu soru eski farkında ancak diğer cevaplar gerçekten soruma cevap vermedin. Bazı PHP kod yazma olumsuz değilseniz, CubicleSoft Ultimate Web Kazıyıcı Toolkit bir sınıf olarak adlandırılan TagFilter vardır:

https://github.com/cubiclesoft/ultimate-web-scraper/blob/master/support/tag_filter.php

Sen iki şey geçmek: seçenekler ve verilerin bir dizi HTML olarak ayrıştırmak için.

Bozuk HTML'yi temizlemek için, TagFilter :: GetHTMLOptions() öğesinin varsayılan seçenekleri iyi bir başlangıç ​​noktası işlevi görür. Bu seçenekler Basit HTML DOM gibi başka aracı doğru bir DOM modelinde ayrıştırmak bir içerik haline herhangi bir giriş verilerini temizler, başka hiçbir şey yapmadan, geçerli HTML içeriğinin temelini oluşturur ve.

Ancak, sınıfı kullanmanın diğer yolu, varsayılan seçenekleri değiştirmek ve seçenekler dizisine bir 'geri arama' seçeneği eklemektir. HTML'deki her etiket için belirtilen geri arama işlevi çağrılır. Geri bildirimin, TagFilter'in gerçek gücünün devreye girdiği yer olan her bir etiketle ne yapacağına karar vermesi bekleniyor. Sen, etiketinin kurtulmak (veya bunları değiştirme) herhangi bir etiketi ve bazı veya tüm niteliklerini tutmak ancak iç içerik tutmak, etiketi tutmak ancak içerik kurtulmak, (etiketlerini kapatılması için) içeriğini değiştirmek veya edebilirsiniz hem etiketi hem de iç içeriğinden kurtul. Bu yaklaşım, orada en karmaşık HTML üzerinde son derece hassas bir kontrole izin verir ve girişi tek geçişte işler. TagFilter'ın kullanımı için aynı havuzun test paketine bakın.

Tek dezavantajı, geri çağırma her arama arasında nerede olduğunu takip etmektir, Basit HTML DOM gibi bir şey ise DOM benzeri bir modele göre işleri seçer. ANCAK bu işleniyor belge 'id ve' class'es gibi şeyler varsa, sadece bir dezavantaj var ... En Kelime/Libre HTML içeriği DOM'da işleme araçları kadarıyla ayrıştırılamaz/tanınmaz HTML dev damla olduğu anlamına gelir değil gitmek.

0

Word-Filtrelenmiş HTML'yi temizleyecek ve süper/aboneleri doğru zamanın% 95'ini doğru şekilde etiketleyecek bir PowerShell betikleri kümesi. (Hayır, Word baskı için yapılır, bundan daha iyisi olamaz.)

https://github.com/suzumakes/replaceit

Talimatlar Benioku, orada ve sen yakalanmış veya gelip gereken herhangi bir ek karakterler karşılaşmaya gerçekleşmesi halinde herhangi bir ince ayar/iyileştirme ile, çekme isteğinizi görmekten mutluluk duyarım.

0

ophir.php Odt dosyalarından temiz HTML kılmayı çok güzel bir iş yok. Çalıştırmak için bir php barındırma ortamına ihtiyacınız var.

İlgili konular