За последние 24 часа нас посетили 22332 программиста и 1045 роботов. Сейчас ищут 600 программистов ...

Удаление из html файла ненужных строк

Тема в разделе "Сделайте за меня", создана пользователем Easp, 5 сен 2019.

  1. Easp

    Easp Новичок

    С нами с:
    5 сен 2019
    Сообщения:
    4
    Симпатии:
    0
    Имеется экспортированная в html таблица из ms access. Необходим скрипт который будет вычищать из файла все, кроме таблицы с данными. Если файл уже содержит только таблицу, то скрипт выполнятся не должен. Мне видится такой алгоритм:
    Код (Text):
    1. если первая строка НЕ начинается с <table, то {
    2.     вычилить количество строк находящихся выше (сверху вниз до тэга <table) и удалить их.
    3.     вычислить количество строк вниз от тэга </table> и также удалить их.
    4.     удалить все атрибуты и их значения у всех тэгов
    5.     везде удалить тэг <FONT> и его закрывающий </FONT>
    6.   удалить строку с тэгами <TFOOT> и </TFOOT>
    7. }
    В общем, на выходе всегда должен получаться код вида:
    <table
    ...
    </table>
    Заранее спасибо за помощь.
    HTML:
    1. <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8">
    2. <TITLE>&#1057;&#1090;&#1091;&#1076;&#1077;&#1085;&#1090;&#1099;</TITLE>
    3. </HEAD>
    4. <TABLE BORDER=1 BGCOLOR=#ffffff CELLSPACING=0><FONT FACE="Calibri" COLOR=#000000><CAPTION><B>&#1057;&#1090;&#1091;&#1076;&#1077;&#1085;&#1090;&#1099;</B></CAPTION></FONT>
    5.  
    6. <TR>
    7. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1050;&#1086;&#1076;</FONT></TH>
    8. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1084;&#1103;</FONT></TH>
    9. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1060;&#1072;&#1084;&#1080;&#1083;&#1080;&#1103;</FONT></TH>
    10. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1054;&#1090;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086;</FONT></TH>
    11. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1044;&#1072;&#1090;&#1072;_&#1088;&#1086;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103;</FONT></TH>
    12.  
    13. </TR>
    14. <TR VALIGN=TOP>
    15. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>1</FONT></TD>
    16. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1074;&#1072;&#1085;</FONT></TD>
    17. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;</FONT></TD>
    18. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;&#1080;&#1095;</FONT></TD>
    19. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>14.07.1988</FONT></TD>
    20.  
    21. </TR>
    22.  
    23. <TR VALIGN=TOP>
    24. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>2</FONT></TD>
    25. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1055;&#1077;&#1090;&#1088;</FONT></TD>
    26. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;</FONT></TD>
    27. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;&#1080;&#1095;</FONT></TD>
    28. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>11.06.1999</FONT></TD>
    29.  
    30. </TR>
    31.  
    32. <TR VALIGN=TOP>
    33. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>3</FONT></TD>
    34. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1081;</FONT></TD>
    35. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;</FONT></TD>
    36. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;&#1080;&#1095;</FONT></TD>
    37. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>23.07.1989</FONT></TD>
    38.  
    39. </TR>
    40.  
    41. <TR VALIGN=TOP>
    42. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>4</FONT></TD>
    43. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1085;&#1076;&#1088;&#1077;&#1081;</FONT></TD>
    44. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;</FONT></TD>
    45. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;&#1080;&#1095;</FONT></TD>
    46. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>08.08.1979</FONT></TD>
    47.  
    48. </TR>
    49.  
    50. <TR VALIGN=TOP>
    51. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>5</FONT></TD>
    52. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1045;&#1074;&#1075;&#1077;&#1085;&#1080;&#1081;</FONT></TD>
    53. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;</FONT></TD>
    54. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;&#1080;&#1095;</FONT></TD>
    55. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>27.02.1982</FONT></TD>
    56.  
    57. </TR>
    58. </BODY>
    59. </HTML>
    HTML:
    1. <TABLE><CAPTION><B>&#1057;&#1090;&#1091;&#1076;&#1077;&#1085;&#1090;&#1099;</B></CAPTION>
    2.  
    3. <TR>
    4. <TH>&#1050;&#1086;&#1076;</TH>
    5. <TH>&#1048;&#1084;&#1103;</TH>
    6. <TH>&#1060;&#1072;&#1084;&#1080;&#1083;&#1080;&#1103;</TH>
    7. <TH>&#1054;&#1090;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086;</TH>
    8. <TH>&#1044;&#1072;&#1090;&#1072;_&#1088;&#1086;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103;</TH>
    9.  
    10. </TR>
    11. <TR>
    12. <TD>1</TD>
    13. <TD>&#1048;&#1074;&#1072;&#1085;</TD>
    14. <TD>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;</TD>
    15. <TD>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;&#1080;&#1095;</TD>
    16. <TD>14.07.1988</TD>
    17.  
    18. </TR>
    19.  
    20. <TR>
    21. <TD>2</TD>
    22. <TD>&#1055;&#1077;&#1090;&#1088;</TD>
    23. <TD>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;</TD>
    24. <TD>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;&#1080;&#1095;</TD>
    25. <TD>11.06.1999</TD>
    26.  
    27. </TR>
    28.  
    29. <TR>
    30. <TD>3</TD>
    31. <TD>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1081;</TD>
    32. <TD>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;</TD>
    33. <TD>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;&#1080;&#1095;</TD>
    34. <TD>23.07.1989</TD>
    35.  
    36. </TR>
    37.  
    38. <TR>
    39. <TD>4</TD>
    40. <TD>&#1040;&#1085;&#1076;&#1088;&#1077;&#1081;</TD>
    41. <TD>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;</TD>
    42. <TD>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;&#1080;&#1095;</TD>
    43. <TD>08.08.1979</TD>
    44.  
    45. </TR>
    46.  
    47. <TR>
    48. <TD>5</TD>
    49. <TD>&#1045;&#1074;&#1075;&#1077;&#1085;&#1080;&#1081;</TD>
    50. <TD>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;</TD>
    51. <TD>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;&#1080;&#1095;</TD>
    52. <TD>27.02.1982</TD>
    53.  
    54. </TR>
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Прям тех задание, сколько оплачиваете? =)
     
  3. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Это он на 1c написал
    ;)
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.743
    Симпатии:
    1.319
    Адрес:
    Лень
    #4 MouseZver, 5 сен 2019
    Последнее редактирование: 5 сен 2019
  5. kazadai90

    kazadai90 Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    103
    Симпатии:
    19
    Код для обработки

    Код (Text):
    1. <?php
    2.  
    3. $file = file_get_contents("table.html");
    4.  
    5. preg_match_all("/(<table.*?>.*?<\/table>)/siu", $file, $matches);
    6.  
    7. $table = $matches[1][0] ?? '';
    8.  
    9. file_put_contents("table_result.html", $table);
     
    Easp нравится это.
  6. Easp

    Easp Новичок

    С нами с:
    5 сен 2019
    Сообщения:
    4
    Симпатии:
    0
    Благодарю. А можно узнать, что делает данная команда? Конкретно, вот это - $matches[1][0] ?? ''
     
  7. kazadai90

    kazadai90 Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    103
    Симпатии:
    19
    это не команда, это результат работы пред строки
    Код (Text):
    1. preg_match_all("/(<table.*?>.*?<\/table>)/siu", $file, $matches);
    в регулярке ищется таблица, результат складывается в переменную $matches
     
  8. Easp

    Easp Новичок

    С нами с:
    5 сен 2019
    Сообщения:
    4
    Симпатии:
    0
    @kazadai90 там же идет операция присваивания, но сначала проверяется какое-то условие (??) разве не так?
     
  9. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
  10. kazadai90

    kazadai90 Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    103
    Симпатии:
    19
    Код (Text):
    1. $table = $matches[1][0] ?? '';
    в php 7 данная конструкция эквивалента
    Код (Text):
    1. $table = isset($matches[1][0]) ? $matches[1][0] : '';
    из php 5 версии
     
  11. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    PHP:
    1. <?php
    2. $re = '/(<table.*?>.*?<\/table>)/isu';
    3. $str = '<HTML>
    4. <HEAD>
    5. <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8">
    6. <TITLE>&#1057;&#1090;&#1091;&#1076;&#1077;&#1085;&#1090;&#1099;</TITLE>
    7. </HEAD>
    8. <BODY>
    9. <TABLE BORDER=1 BGCOLOR=#ffffff CELLSPACING=0><FONT FACE="Calibri" COLOR=#000000><CAPTION><B>&#1057;&#1090;&#1091;&#1076;&#1077;&#1085;&#1090;&#1099;</B></CAPTION></FONT>
    10. <THEAD>
    11. <TR>
    12. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1050;&#1086;&#1076;</FONT></TH>
    13. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1084;&#1103;</FONT></TH>
    14. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1060;&#1072;&#1084;&#1080;&#1083;&#1080;&#1103;</FONT></TH>
    15. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1054;&#1090;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086;</FONT></TH>
    16. <TH BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1044;&#1072;&#1090;&#1072;_&#1088;&#1086;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103;</FONT></TH>
    17. </TR>
    18. </THEAD>
    19. <TBODY>
    20. <TR VALIGN=TOP>
    21. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>1</FONT></TD>
    22. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1074;&#1072;&#1085;</FONT></TD>
    23. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;</FONT></TD>
    24. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;&#1080;&#1095;</FONT></TD>
    25. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>14.07.1988</FONT></TD>
    26. </TR>
    27. <TR VALIGN=TOP>
    28. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>2</FONT></TD>
    29. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1055;&#1077;&#1090;&#1088;</FONT></TD>
    30. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;</FONT></TD>
    31. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;&#1080;&#1095;</FONT></TD>
    32. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>11.06.1999</FONT></TD>
    33. </TR>
    34. <TR VALIGN=TOP>
    35. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>3</FONT></TD>
    36. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1081;</FONT></TD>
    37. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;</FONT></TD>
    38. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;&#1080;&#1095;</FONT></TD>
    39. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>23.07.1989</FONT></TD>
    40. </TR>
    41. <TR VALIGN=TOP>
    42. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>4</FONT></TD>
    43. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1085;&#1076;&#1088;&#1077;&#1081;</FONT></TD>
    44. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;</FONT></TD>
    45. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;&#1080;&#1095;</FONT></TD>
    46. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>08.08.1979</FONT></TD>
    47. </TR>
    48. <TR VALIGN=TOP>
    49. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>5</FONT></TD>
    50. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1045;&#1074;&#1075;&#1077;&#1085;&#1080;&#1081;</FONT></TD>
    51. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;</FONT></TD>
    52. <TD BORDERCOLOR=#e7e6e6 ><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;&#1080;&#1095;</FONT></TD>
    53. <TD BORDERCOLOR=#e7e6e6  ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>27.02.1982</FONT></TD>
    54. </TR>
    55. </TBODY>
    56. <TFOOT></TFOOT>
    57. </TABLE>
    58. </BODY>
    59. </HTML>';
    60.  
    61. preg_match($re, $str, $matches);
    62.  
    63. #print_r($matches[0]);
    64.  
    65. $_= preg_replace('/<(\w+)( .*?)>/isu', "<$1>", $matches[0]);
    66. $_= preg_replace('/<\/?FONT>/isu', "", $_);
    67. print $_= preg_replace('/<\/?TFOOT>/isu', "", $_);
    --- Добавлено ---
    Результат:

    HTML:
    1. <TABLE><CAPTION><B>&#1057;&#1090;&#1091;&#1076;&#1077;&#1085;&#1090;&#1099;</B></CAPTION>
    2. <TR>
    3. <TH>&#1050;&#1086;&#1076;</TH>
    4. <TH>&#1048;&#1084;&#1103;</TH>
    5. <TH>&#1060;&#1072;&#1084;&#1080;&#1083;&#1080;&#1103;</TH>
    6. <TH>&#1054;&#1090;&#1095;&#1077;&#1089;&#1090;&#1074;&#1086;</TH>
    7. <TH>&#1044;&#1072;&#1090;&#1072;_&#1088;&#1086;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103;</TH>
    8. </TR>
    9. <TR>
    10. <TD>1</TD>
    11. <TD>&#1048;&#1074;&#1072;&#1085;</TD>
    12. <TD>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;</TD>
    13. <TD>&#1048;&#1074;&#1072;&#1085;&#1086;&#1074;&#1080;&#1095;</TD>
    14. <TD>14.07.1988</TD>
    15. </TR>
    16. <TR>
    17. <TD>2</TD>
    18. <TD>&#1055;&#1077;&#1090;&#1088;</TD>
    19. <TD>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;</TD>
    20. <TD>&#1055;&#1077;&#1090;&#1088;&#1086;&#1074;&#1080;&#1095;</TD>
    21. <TD>11.06.1999</TD>
    22. </TR>
    23. <TR>
    24. <TD>3</TD>
    25. <TD>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1081;</TD>
    26. <TD>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;</TD>
    27. <TD>&#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1077;&#1074;&#1080;&#1095;</TD>
    28. <TD>23.07.1989</TD>
    29. </TR>
    30. <TR>
    31. <TD>4</TD>
    32. <TD>&#1040;&#1085;&#1076;&#1088;&#1077;&#1081;</TD>
    33. <TD>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;</TD>
    34. <TD>&#1040;&#1085;&#1076;&#1088;&#1077;&#1077;&#1074;&#1080;&#1095;</TD>
    35. <TD>08.08.1979</TD>
    36. </TR>
    37. <TR>
    38. <TD>5</TD>
    39. <TD>&#1045;&#1074;&#1075;&#1077;&#1085;&#1080;&#1081;</TD>
    40. <TD>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;</TD>
    41. <TD>&#1045;&#1074;&#1075;&#1077;&#1085;&#1100;&#1077;&#1074;&#1080;&#1095;</TD>
    42. <TD>27.02.1982</TD>
    43. </TR>
    44.  
     
  12. Easp

    Easp Новичок

    С нами с:
    5 сен 2019
    Сообщения:
    4
    Симпатии:
    0
    Всем большое спасибо. Остановился на таком варианте:
    PHP:
    1.     $html_table = file_get_contents("table.html");
    2.  
    3.     $dom = new DOMDocument;
    4.     $dom->loadHTML($html_table);
    5.     $xpath = new DOMXPath($dom);
    6.     $nodes = $xpath->query('//@*');
    7.     foreach ($nodes as $node) {
    8.         $node->parentNode->removeAttribute($node->nodeName);
    9.     }
    10.     $html_table = $dom->saveHTML();
    11.  
    12.     $html_table = preg_replace("/<title>.*<\/title>/", '', $html_table);
    13.  
    14.     $html_table = strip_tags($html_table, '<table> <tbody> <thead> <caption> <tr> <th> <td>');
    Есть какие-либо серьезные недостатки (или ошибки) в этом коде?