Ловушка-9

 

hcube

старожил
★☆

Есть задача :
дано - текст в ворде с таблицами
надо - HTML с таблицами. ТОЛЬКО с таблицами.

Сам ворд к сожалению сохраняет нев%:?;№"!ый файл, в который кроме таблиц засунуто все что только можно засунуть - стили, форматирование, границы таблиц... Очень не хочу сохранять плайн текст и потом ручками добавлять табличные теги. У кого есть другой вариант? MS Publisher AKA FrontPage - уже попробовал. Бэээ... интеграция, однако - выдает то же самое.
Убей в себе зомби!  
+
-
edit
 

Balancer

администратор
★★★★☆
Perl и простенький скрипт. Или, вообще, тупая замена регекспами всего, что "<(\w+)[^>*]>" на "<$1>" :)

Я вордовые документы таким скриптом чищу:
code perl
  1. open FH, "$ARGV[0]" or die $!;
  2. $/=undef;
  3. $f=<FH>;
  4. close FH;
  5.  
  6. $f=~s/<!\-\-(.+?)\-\->//gs;
  7. $f=~s/<![^>]+>//gs;
  8.  
  9. $f=~s!\r!!g;
  10. #$f=~s!\n! !g;
  11. $f=~s!\s+! !g;
  12.  
  13. $f=~s!<o:p>!\n!gi;
  14. $f=~s!</o:p>!\n!gi;
  15.  
  16. #$f=~s!<a\s.*?href="(.+?)".*?>(.+?)</a>!\[url=$1\]$2\[/url\]!gis;
  17. #$f=~s!<a\s.*?href=\s*(\S+?).*?>(.+?)</a>!\[url=$1\]$2\[/url\]!gis;
  18. $f=~s!<b>(.+?)</b>!\[b\]$1\[/b\]!gis;
  19. $f=~s!<b [^>]*>(.+?)</b>!\[b\]$1\[/b\]!gis;
  20. $f=~s!<em>(.+?)</em>!\[i\]$1\[/i\]!gis;
  21. $f=~s!<i>(.+?)</i>!\[i\]$1\[/i\]!gis;
  22. $f=~s!<i [^>]+>(.+?)</i>!\[i\]$1\[/i\]!gis;
  23. $f=~s!<font [^>]+>(.+?)</font>!$1!gis;
  24. $f=~s!<h2.*?>(.+?)</h2>!\[h\]$1\[/h\]!gis;
  25.  
  26. $f=~s!<a [^>]*href="([^"]+)"[^>]*>(.+?)</a>!\[url $1|$2\]!gis;
  27. $f=~s!<a [^>]*href='([^']+)'[^>]*>(.+?)</a>!\[url $1|$2\]!gis;
  28. $f=~s!<a [^>]*href=(\S+) [^>]*>(.+?)</a>!\[url $1|$2\]!gis;
  29.  
  30. $f=~s!<img [^>]*src="([^"]+)"[^>]*alt="([^"]+)"[^>]*>!\[img $1|$2]!gis;
  31. $f=~s!<img [^>]*src="([^"]+)"[^>]*>!\[img $1]!gis;
  32.  
  33. $f=~s!<br>!\n!gi;
  34. $f=~s!<br [^>]*>!\n!gi;
  35. $f=~s!</?table.*?>!\n!gi;
  36. $f=~s!</?tr.*?>!\n!gi;
  37. $f=~s!</?td.*?>!\n!gi;
  38. $f=~s!<p>!\n$1!gi;
  39. $f=~s!<p [^>]*>!\n!gi;
  40. $f=~s!</p>!\n!gi;
  41. while($f=~s!<span.*?>(.+?)</span>!$1!gis){};
  42.  
  43. $f=~s!(\s+)\[/(i|b|u)\]![/$2]$1!gis;
  44.  
  45. $f=~s!\[(i|b|u)\](\s*)\[/\1\]!$2!g;
  46. $f=~s!\[/(i|b|u)\](\s*)\[\1\]!$2!g;
  47.  
  48. $f=~s! +! !g;
  49. $f=~s!^\s+$!!gms;
  50. $f=~s!\n\n+!\n\n!gis;
  51.  
  52. open FH, ">$ARGV[1]" or die $!;
  53. print FH $f;
  54. close FH;


Но он у меня в язык разметки страниц Авиабазы и форумов все тэги конвертит :)
 
RU Dem_anywhere #17.02.2004 12:18
+
-
edit
 

Dem_anywhere

аксакал

как вариант - активировать HTML-export конвертер. (Ворд его ставит, но игнорит)
Для чего - сохраняем ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Export\HTML
и импортим её например как HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Export\HTM
code text
  1. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Export\HTM]
  2. "Extensions"="htm html htx"
  3. "Name"="HTML Document"
  4. "Path"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\TextConv\\HTML32.CNV"

И сохраняем как HTML Document
Результат таблички 2*2 1

11

12

21

22

 

sergu

новичок
Посмотрите на

Download: Office 2000 HTML Filter 2.0 - Microsoft Download Center - Download Details

The Office HTML Filter is a tool you can use to remove Office-specific markup tags embedded in Office 2000 documents saved as HTML.

// office.microsoft.com
 

 
+
-
edit
 

Balancer

администратор
★★★★☆
Dem_anywhere, 17.02.2004 12:18:42 :
<TR><TD WIDTH="50%" VALIGN="TOP">
 


Вот это хреново. Не положено, кроме дизайнерских замыслов, ширину таблиц задавать. Не переносибельно :)
 
+
-
edit
 
RU Dem_anywhere #24.02.2004 14:02
+
-
edit
 

Dem_anywhere

аксакал

Balancer, 19.02.2004 21:03:47 :
Dem_anywhere, 17.02.2004 12:18:42 :
<TR><TD WIDTH="50%" VALIGN="TOP">
 


Вот это хреново. Не положено, кроме дизайнерских замыслов, ширину таблиц задавать. Не переносибельно :)
 


Ну это конечно да - но практически весь офисный мусор вычистился...
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru