Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Мост HTML -> XML
 
 автор: Kien   (18.07.2007 в 16:14)   письмо автору
 
 

Доброго времени суток.

Быть может эта тема уже обсуждалась, но поиск ничего не дал.

Дело в следующем: необходимо создать мост HTML - XML , т.е. со страницы HTML взять данные и создать файл XML с этими значениями, но другими (определенными) атрибутами. Следующая проблема - отсутствие доступа к базе и PHP файлам сайта, с которого генерируется первоначальный HTML. Т.е. есть только страничка, в которой таблица. Некоторые ячейки, колонки, столбцы из нее надо засунуть в XML файл.

Каким образом это реально сделать? Достаточно ли скриптов PHP для этого или необходимо писать что-нибудь в DELPHI, C?

За любую идею, совет буду весьма признателен.
Заранее спасибо

   
 
 автор: Trianon   (18.07.2007 в 19:05)   письмо автору
 
   для: Kien   (18.07.2007 в 16:14)
 

>отсутствие доступа к базе и PHP файлам сайта, с которого генерируется первоначальный HTML

Как такое может быть?

   
 
 автор: Sfinks   (18.07.2007 в 19:10)   письмо автору
 
   для: Trianon   (18.07.2007 в 19:05)
 

Очень просто. Чел хочет сделать грабли и с чужого сайта залить инфу в свою БД

   
 
 автор: Sfinks   (18.07.2007 в 19:15)   письмо автору
 
   для: Kien   (18.07.2007 в 16:14)
 

PHP достаточно.
Нужно цыклично загружать страницы сайта, с помощью регулярных выражений выдирать из кода страниц нужную информацию, нужным образом форматировать и дописывать к своему XML.
А чего-то более конкретного по этому вопросу сказать нельзя. Все сайты разные. Чтобы выбрать что-то конкретное нужно дать фрагмент кода, и что из него нужно выбрать. Тогда под конкретный пример Вам смогут дать конкретное рег.выр.

   
 
 автор: Kien   (19.07.2007 в 10:36)   письмо автору
 
   для: Sfinks   (18.07.2007 в 19:15)
 

Спасибо всем,

вот кусок кода страницы:


<Table border=0 width="90%" align=center valign="top">

    <TR bgcolor="330066" valign="top">
        <tH COLSPAN="23"><font face="Verdana" size="3" color="#FFFFFF">CONTROL SHEET</font></tH>
    </TR>

  <TR bgcolor="330066" valign="top">
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Transaction<br>Date</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sender<BR>Transaction<br>ID</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Receiver<BR>Transaction<br>ID</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Transaction<br>Status</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Display<br>Id</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Authorization<br>Code</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sender</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sender<BR>Address</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sender<br>Phone</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Receiver</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Receiver<br>Phone</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Password</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sent<br>Amount</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Exchange<br>Rate</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Commission<br>Charged</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Payout<br>Currency</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Payout<br>Amount</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Recv.<br>Country</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Receiving<br>Branch</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Receiving<br>Agent</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sending<br>Agent</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sending<br>Branch</font></b></td>
    <td width="8%" align=center><b><font face="Verdana" size="1" color="#FFFFFF">Sending<BR>Operator </font></b></td>
  </TR>
  
              <tr>
                <td valign="top" align=center bgcolor="#EEF0E0" > <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">01/07/2007 </font> </TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">2131422</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">2131422</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Transfer Delivered  To Recv Branch</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">0102131422 </font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">061666DE</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">OLENA    KOZLOVSKA</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">562/147 CERNOKOSTELECKA PRAHA CZ, 15000, CZ</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">+420608110243</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">GALYNA    TSYGULSKA</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">N</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">N</font></TD>
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">9701.00</font></TD>
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">0.05</font></TD>
                
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">
                291.00
                </font></TD>

                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">USD</font></TD>
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">450.00</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Ukraine</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Ukrsibbank 22, Blukhera Str. Kharkov</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Russlav Bank (C.I.S)</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Infobus-I</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">13/10 Pod vytopnou</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">czinfobusaa</font></TD>
              </tr>
              
              <tr>
                <td valign="top" align=center bgcolor="#EEF0E0" > <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">01/07/2007 </font> </TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">2131423</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">2131423</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Paid</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">0102131423 </font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">061666DF</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">MYKHAYLO          CHUDNYY </font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">3/498  U HELLADY  PRAHA 4   , N , CESKA REPUBLIKA </font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">608068087</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">VALENTYNA       CHUDNA</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">453770</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">N</font></TD>
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">10779.00</font></TD>
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">0.05</font></TD>
                
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">
                323.00
                </font></TD>

                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">USD</font></TD>
                <td valign="top" align=right bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">500.00</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Ukraine</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Ukrsibbank 270, Shevchenko Blv. Cherkassy</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Russlav Bank (C.I.S)</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">Infobus-Iv</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">13/10 Pod vytopnou</font></TD>
                <td valign="top" align=center bgcolor="#EEF0E0" ><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="330066">czinfobusad</font></TD>
              </tr>
</table>





Мне надо эту таблицу перекинуть в ХМЛ с определенными атрибутами где "Transaction ID" станет "ID" и т.д. К тому же могут добавиться и другие атрибуты.

   
 
 автор: Sfinks   (19.07.2007 в 23:42)   письмо автору
 
   для: Kien   (19.07.2007 в 10:36)
 

<?php
//  $s = код страницы
  
preg_match_all("#<tr>(.*?)</tr>#si",$s,$out);
  
$records = array();
  foreach(
$out[1] as $t_string){
      
preg_match_all("#<font.*?>(.*?)<#si",$t_string,$values);
      
$records[] = $values[1];
  }
  
print_r($records);
?>

Этот код запихивает данные в массив $records. А в XML уж как-нить сами переформатируете? =)

   
 
 автор: Kien   (23.07.2007 в 16:49)   письмо автору
 
   для: Sfinks   (19.07.2007 в 23:42)
 

Спасибо за помощь. Грабер работает. А как можно перевести все в ХМЛ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования