• User Newbie

    Intercettare numeri in stringa

    Ciao a tutti!
    ho un problme con una stringa.

    Praticamente ho una variabile $text nella quale inserisco una testo molto complesso e articolato (contiene numeri,parole,caratteri vari).
    Alcune parti di questo testo sono composte da righe così formattate:
    ;18481, 000; 17654, 234 ;12345, 345;45676, 34; eccc....ecc.....

    come potete vedere non sono altro che sequeze (racchiuse tra i , duplicate)

    ora ho la necessità di prelevare una parte ben precisa del testo grassetto:
    Es. ;18481, 000;
    dato che conosco già i vari valori 000 o 234....tramite "strpos" riesco a posizionarmi dove mi serve all'interno della stringa....solo che non riesco a prelevare i valori che stanno a sinistra e che quindi vanno da dalla virgola al ; (18481 , la lunghezza può cambiare)....qualche suggerimento ??


  • User

    ;18481, 000;per recuperare 18481 io qui farei cosi:

    [PHP]
    $t = explode(",", "; 18481, 000;");

    $trovato = str_replace( array(";", " "), $t[0]);[/PHP]


  • User Newbie

    il problema è ke il 1841 è all'interno di un testo molto complesso...io l'unica cosa che posso fare è prendere come riferimento lo 000, e poi da li dorei spostarmi verso sinistra fino al ;

    Purtroppo non posso fare come dici e in quanto non riesco ad isolare solo questa porzione di testo ;18481, 000;


  • User Attivo

    Prova questa espressione regolare:

    preg_match_all("/ ;(.*?), 000/", $text, $risultato);
    

    Nell'array $risultato[1] hai tutti i valori compresi tra il ; e il ,000.

    Attento però: prima del punto e virgola ci deve essere almeno uno spazio.