@AlexSer

Как прочесть файлик при помощи PHP?

Всем привет! Подскажите, что можно использовать для,чтения данных вот с такого файлика:
spoiler
<!--:Begin:Chksum:1:-->
<!--:Begin:Msg:1:0:-->
<sample>
<ver>1.1</ver>
<instrinfo>
<p><n>PRDI</n><v>BM800</v></p>
<p><n>FIWV</n><v>2.7.3</v></p>
<p><n>SNO</n><v>17903</v></p>
<p><n>BRND</n><v>M</v></p>
<p><n>IAPL</n><v>H</v></p>
<p><n>IID</n></p>
<p><n>LMOF</n><v>1</v></p>
</instrinfo>
<smpinfo>
<p><n>ID</n><v>AUTOBACKGROUND</v></p>
<p><n>SEQ</n><v>1736</v></p>
<p><n>DATE</n><v>2019-07-19T09:45:23</v></p>
<p><n>OPID</n><v>*BG*</v></p>
<p><n>APNU</n><v>2</v></p>
<p><n>APNA</n><v>&#x424;&#x41e;&#x41d; &#x420;&#x415;&#x410;&#x413;&#x415;&#x41d;&#x422;&#x410;</v></p>
<p><n>ASPM</n><v>OT</v></p>
<p><n>ASPS</n><v>2</v></p>
<p><n>SORC</n><v>0</v></p>
<p><n>BLMD</n><v>1</v></p>
<p><n>BLNK</n><v>1</v></p>
<p><n>STYP</n><v>0</v></p>
<p><n>RGED</n></p>
<p><n>RGEL</n></p>
<p><n>RGEC</n></p>
<p><n>RDLI</n><v>1902-073</v></p>
<p><n>RDPN</n><v>289</v></p>
<p><n>RDED</n><v>2022-02-12</v></p>
<p><n>RLLI</n><v>1808-997</v></p>
<p><n>RLPN</n><v>757</v></p>
<p><n>RLED</n><v>2021-08-12</v></p>
<p><n>RCLI</n></p>
<p><n>RCPN</n></p>
<p><n>RCED</n></p>
<p><n>RELI</n></p>
<p><n>REPN</n></p>
<p><n>REED</n></p>
<p><n>RPD</n><v>27</v></p>
<p><n>RPDS</n><v>0</v></p>
<p><n>RPDL</n><v>15</v></p>
<p><n>RPDH</n><v>30</v></p>
<p><n>RPDF</n><v>27</v></p>
<p><n>MBTE</n><v>30.3</v></p>
<p><n>MCVO</n><v>+0.0</v></p>
<p><n>WDDM</n><v>0</v></p>
<p><n>WDDP</n><v>0</v></p>
<p><n>WDMS</n><v>1</v></p>
<p><n>WDMA</n><v>1</v></p>
<p><n>WDFB</n><v>1</v></p>
<p><n>WDLL</n><v>40</v></p>
<p><n>WDLH</n><v>400</v></p>
<p><n>WDCL</n></p>
<p><n>WDCH</n></p>
<p><n>WLGL</n><v>160</v></p>
<p><n>WLGH</n></p>
<p><n>WDIL</n><v>115</v></p>
<p><n>WDIH</n><v>165</v></p>
<p><n>WDOM</n></p>
<p><n>WDWD</n><v>3</v></p>
<p><n>XLT</n></p>
<p><n>EOMD</n></p>
<p><n>EODL</n></p>
<p><n>EODH</n></p>
<p><n>EOAC</n></p>
<p><n>EOWC</n></p>
<p><n>XEIT</n></p>
<p><n>EASS</n></p>
<p><n>CAPL</n></p>
<p><n>CLVL</n></p>
<p><n>CEXP</n></p>
<p><n>CEXT</n></p>
<p><n>EXCL</n></p>
<p><n>ASWP</n></p>
<p><n>ID2</n></p>
</smpinfo>
<smpresults>
<p><n>RBC</n><v>0.00</v><l>0.00</l><h>0.01</h></p>
<p><n>MCV</n><l>0.0</l><h>0.0</h></p>
<p><n>HCT</n><l>0.0</l><h>0.0</h></p>
<p><n>MCH</n><l>0.0</l><h>0.0</h></p>
<p><n>MCHC</n><l>0.0</l><h>0.0</h></p>
<p><n>RDWR</n><l>0.0</l><h>0.0</h></p>
<p><n>RDWA</n></p>
<p><n>PLT</n><v>0</v><l>0</l><h>10</h></p>
<p><n>MPV</n><l>0.0</l><h>0.0</h></p>
<p><n>PCT</n></p>
<p><n>PDW</n></p>
<p><n>LPCR</n></p>
<p><n>HGB</n><v>0.0</v><l>0.0</l><h>0.2</h></p>
<p><n>WBC</n><v>0.0</v><l>0.0</l><h>0.1</h></p>
<p><n>LA</n><l>0.0</l><h>0.0</h></p>
<p><n>MA</n><l>0.0</l><h>0.0</h></p>
<p><n>GA</n><l>0.0</l><h>0.0</h></p>
<p><n>LR</n><l>0.0</l><h>0.0</h></p>
<p><n>MR</n><l>0.0</l><h>0.0</h></p>
<p><n>GR</n><l>0.0</l><h>0.0</h></p>
</smpresults>
<tparams>
<p><n>RCT</n><v>14204</v></p>
<p><n>WCT</n><v>9651</v></p>
<p><n>aspt</n><v>1000</v></p>
<p><n>xfrt</n><v>3354</v></p>
<p><n>acps</n><v>0</v></p>
<p><n>asl1</n><v>0</v></p>
<p><n>asl2</n><v>0</v></p>
<p><n>rdmx</n><v>1</v></p>
<p><n>rdmn</n></p>
<p><n>rdbl</n><v>2048</v></p>
<p><n>rrmn</n></p>
<p><n>rrmx</n></p>
<p><n>rrmd</n></p>
<p><n>rrdp</n></p>
<p><n>rpds</n><v>173</v></p>
<p><n>rpdt</n><v>1193</v></p>
<p><n>rpdd</n><v>149</v></p>
<p><n>rpus</n><v>1652</v></p>
<p><n>rpua</n><v>14204</v></p>
<p><n>rput</n><v>15862</v></p>
<p><n>rpud</n><v>710</v></p>
<p><n>rbrn</n><v>0</v></p>
<p><n>rpdb</n><v>0</v></p>
<p><n>rpdp</n><v>0</v></p>
<p><n>rpdo</n><v>0</v></p>
<p><n>rpub</n><v>0</v></p>
<p><n>rpup</n><v>0</v></p>
<p><n>rpu1</n><v>0</v></p>
<p><n>rpu2</n><v>0</v></p>
<p><n>rpuu</n><v>0</v></p>
<p><n>wdmx</n></p>
<p><n>wdmn</n></p>
<p><n>wdbl</n><v>1024</v></p>
<p><n>wrmn</n></p>
<p><n>wrmx</n></p>
<p><n>wrmd</n></p>
<p><n>wrdp</n></p>
<p><n>wpds</n><v>182</v></p>
<p><n>wpdt</n><v>862</v></p>
<p><n>wpdd</n><v>86</v></p>
<p><n>wpus</n><v>1465</v></p>
<p><n>wpua</n><v>9651</v></p>
<p><n>wput</n><v>11116</v></p>
<p><n>wpud</n><v>321</v></p>
<p><n>wbrn</n><v>0</v></p>
<p><n>wpdb</n><v>0</v></p>
<p><n>wpdp</n><v>0</v></p>
<p><n>wpdo</n><v>0</v></p>
<p><n>wpub</n><v>0</v></p>
<p><n>wpup</n><v>0</v></p>
<p><n>wpu1</n><v>0</v></p>
<p><n>wpu2</n><v>0</v></p>
<p><n>wpuu</n><v>0</v></p>
<p><n>edmx</n></p>
<p><n>edmn</n></p>
<p><n>edbl</n></p>
<p><n>ermn</n></p>
<p><n>ermx</n></p>
<p><n>ermd</n></p>
<p><n>erdp</n></p>
<p><n>epds</n></p>
<p><n>epdt</n></p>
<p><n>epdd</n></p>
<p><n>epus</n></p>
<p><n>epua</n></p>
<p><n>eput</n></p>
<p><n>epud</n></p>
<p><n>ebrn</n><v>0</v></p>
<p><n>epdb</n><v>0</v></p>
<p><n>epdp</n><v>0</v></p>
<p><n>epdo</n><v>0</v></p>
<p><n>epub</n><v>0</v></p>
<p><n>epup</n><v>0</v></p>
<p><n>epu1</n><v>0</v></p>
<p><n>epu2</n><v>0</v></p>
<p><n>epuu</n><v>0</v></p>
<p><n>dpds</n><v>126</v></p>
<p><n>dpdt</n><v>2947</v></p>
<p><n>dpus</n><v>1</v></p>
<p><n>dput</n><v>3601</v></p>
<p><n>dpdb</n><v>0</v></p>
<p><n>dpdp</n><v>0</v></p>
<p><n>dpdo</n><v>0</v></p>
<p><n>dpup</n><v>0</v></p>
<p><n>dpuo</n><v>0</v></p>
<p><n>dpuf</n><v>0</v></p>
<p><n>ipds</n><v>164</v></p>
<p><n>ipdt</n><v>3724</v></p>
<p><n>ipus</n><v>275</v></p>
<p><n>iput</n><v>4778</v></p>
<p><n>ipdb</n><v>0</v></p>
<p><n>ipdp</n><v>0</v></p>
<p><n>ipdo</n><v>0</v></p>
<p><n>ipup</n><v>0</v></p>
<p><n>ipuo</n><v>0</v></p>
<p><n>ipuf</n><v>0</v></p>
<p><n>lpds</n><v>153</v></p>
<p><n>lpdt</n><v>3934</v></p>
<p><n>lpus</n><v>385</v></p>
<p><n>lput</n><v>8466</v></p>
<p><n>lpdb</n><v>0</v></p>
<p><n>lpdp</n><v>0</v></p>
<p><n>lpdo</n><v>0</v></p>
<p><n>lpup</n><v>0</v></p>
<p><n>lpuo</n><v>0</v></p>
<p><n>opds</n></p>
<p><n>opdt</n></p>
<p><n>opus</n></p>
<p><n>oput</n></p>
<p><n>opdb</n><v>0</v></p>
<p><n>opdp</n><v>0</v></p>
<p><n>opdo</n><v>0</v></p>
<p><n>opup</n><v>0</v></p>
<p><n>opuo</n><v>0</v></p>
<p><n>east</n></p>
<p><n>exft</n></p>
<p><n>hbfo</n><v>0</v></p>
<p><n>hbft</n></p>
</tparams>
<hgrams>
<hgram>
<n>PLT</n><m>30</m><k>80</k><w>7</w><d>71</d><hgdata>
<v>
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
</v>
</hgdata>
</hgram>
<hgram>
<n>RBC</n><m>250</m><k>80</k><w>2</w><d>9</d><hgdata>
<v>
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
</v>
</hgdata>
</hgram>
<hgram>
<n>WBC</n><m>450</m><k>80</k><w>4</w><hgdata>
<v>
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
</v>
</hgdata>
</hgram>
</hgrams>
</sample>
<!--:End:Msg:1:0:-->
<!--:End:Chksum:1:245:196:-->

Это только один sample. А в файлике их 10. И простенький код пожалуйста, наглядный
  • Вопрос задан
  • 603 просмотра
Решения вопроса 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Если формат верный, и это действительно XML - new SimpleXMLElement($data);
Ответ написан
@rusellsystems
если это xml, то
<?php
// Файл test.xml содержит XML-документ с корневым элементом
// и по меньшей мере элемент /[root]/title.
$xml = simplexml_load_file('test.xml');


а если произвольный файл то можно использовать регулярные выражения примерно так:

$src = file_get_contents('~/Documents/file.txt');
echo $src;
if(preg_match_all("/(.*)(.*)\s+/s",$src,$arrMatches,PREG_SET_ORDER)){
foreach($arrMatches as $matches){
echo "name=".$matches[1]." ; value = ".$matches[2]."\n";
}
}else{echo "preg_match_all no results by pattern";}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы