PDA

View Full Version : [PHP] Parsing stringa


mist3r0
02-02-2010, 09:03
Ciao Ragazzi, mi serve una mano.

Ho un file con una serie di stringhe contenete i calciatori ed i ruoli,


{{Calciatore in rosa|n°=1|nazione=Brasile|nome=[[Dida]]|ruolo=P}}


come posso fare uno script php per recuperare solamente il nome? :mc:

help meeee... :doh:

cionci
02-02-2010, 09:13
substr($stringa, strpos($stringa, "|nome=[[") + 8, strpos($stringa, "]]|ruolo=") - strpos($stringa, "|nome=[[") - 8);

Prova così, se manca qualcosa regola aggiungendoci un +1.
http://www.php.net/manual/en/function.substr.php
http://www.php.net/manual/en/function.strpos.php

mist3r0
02-02-2010, 09:33
substr($stringa, strpos($stringa, "|nome=[[") + 8, strpos($stringa, "|nome=[[") + 8 - strpos($stringa, "]]|ruolo=");

Prova così, se manca qualcosa regola aggiungendoci un +1.
http://www.php.net/manual/en/function.substr.php
http://www.php.net/manual/en/function.strpos.php

Ciao cionci, non ho capito una cosa, io ho un file, con più righe di quel tipo, come faccio a prenderele tutte con la funziona che mi hai indicato??

Ho fatto questo script, ma non mi restituisce niente.

Riusciresti a corregerlo?


<?php
$data = array();
$fh = fopen('myfile.xml', 'r') or die('could not open file');
while(($line = fgets($fh, 999)) !== false)
{
preg_match_all('(.*?)', "$line", $matches);
if(count($matches) == 2)
{
$data[] = array('Nome' => $matches[0][0]);
}
}
echo "<pre>".print_r($data,1)."</pre>";

cionci
02-02-2010, 09:38
Ma questo non me l'hai detto.
Cosa ti trovi ora in $data['Nome'] ?

mist3r0
02-02-2010, 13:26
non mi trova niente, mi viene fuori scritto

array<
>

io nella varibile nome vorrei stampare il nome del calciatore e vorrei ora che ci penso ank il numero, quindi la stampa dovrebbe avvenire in queto modo


$data[] = array('nome' => $matches[0][0], 'numero' => $matches[0][1]);



Potresti farmi uno script che leggere + righe? esempio:

{{Calciatore in rosa|n°=1|nazione=Brasile|nome=[[Dida]]|ruolo=P}}
{{Calciatore in rosa|n°=32|nazione=Brasile|nome=[[Dida2]]|ruolo=P}}
{{Calciatore in rosa|n°=54|nazione=Brasile|nome=[[Dida3]]|ruolo=P}}
{{Calciatore in rosa|n°=3|nazione=Brasile|nome=[[Dida4]]|ruolo=P}}
{{Calciatore in rosa|n°=6|nazione=Brasile|nome=[[Dida5]]|ruolo=P}}
{{Calciatore in rosa|n°=7|nazione=Brasile|nome=[[Dida6]]|ruolo=P}}
{{Calciatore in rosa|n°=10|nazione=Brasile|nome=[[Dida7]]|ruolo=P}}
{{Calciatore in rosa|n°=11|nazione=Brasile|nome=[[Dida8]]|ruolo=P}}
{{Calciatore in rosa|n°=16|nazione=Brasile|nome=[[Dida9]]|ruolo=P}}