Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31

    Help espressione regolare

    ciao ragazzi!
    vi pongo il problema nella maniera piu semplice.
    Ho una stringa in php con dentro dei tag <img...> e io voglio che con una espressione regolare mi vengano estrapolati tutti i VALORI dei campi src="...";
    esempio:


    Bla bla bla bla bla [img]ciao.it[/img] bla bla bla [img]ciao2.it[/img]bla bla.
    il mio out put deve essere:
    ciao.it
    ciao2.it
    **********
    ho eleborato un espressione:

    Codice PHP:
    $regEx"/src=[\"'](.+?)[\"']/"
    ma mi genera un output: src="ciao.it"

    mentre io vorrei solo ciao.it

    non riesco a risolvere il problema

    grazie in anticipo.

  2. #2
    ES:

    Codice PHP:
    <?php
    $regEx 
    "/src=[\"'](.+?)[\"']/";
    $str '[img]ciao.it[/img]';
    preg_match_all($regEx$str$matches);
    echo 
    $matches[1][0];
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Originariamente inviato da satifal
    ES:

    Codice PHP:
    <?php
    $regEx 
    "/src=[\"'](.+?)[\"']/";
    $str '[img]ciao.it[/img]';
    preg_match_all($regEx$str$matches);
    echo 
    $matches[1][0];
    ?>
    ciao,
    grazie per la risposta, ma il problema persiste....
    il mio output con la tua espressione è ad esempio src='img/club.gif' mentre l'output ricercato sarebbe img/club.gif ad esempio

  4. #4
    Originariamente inviato da Paul90
    ciao,
    grazie per la risposta, ma il problema persiste....
    il mio output con la tua espressione è ad esempio src='img/club.gif' mentre l'output ricercato sarebbe img/club.gif ad esempio
    Guarda che l'espressione non l'ho toccata, è la tua. Ti ho solo mostrato come recuperare correttamente ciò che cerchi.
    Se provi l'esempio vedrai che funziona!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Originariamente inviato da satifal
    Guarda che l'espressione non l'ho toccata, è la tua. Ti ho solo mostrato come recuperare correttamente ciò che cerchi.
    Se provi l'esempio vedrai che funziona!
    si, l'esempio funziona hai ragione... ma su una stringa con questo esempio:
    Codice PHP:
    preg_match_all($regEx,"ciao ciaoaji  [img]img/inferno.jpg[/img] "$matches); 
    stampando con
    Codice PHP:
    print_r($matches[0]); 
    il mio output è : Array ( [0] => src='img/inferno.jpg' )

    mentre dovrebbe essere: Array ( [0] => img/inferno.jpg )


  6. #6
    Originariamente inviato da Paul90
    si, l'esempio funziona hai ragione... ma su una stringa con questo esempio:
    Codice PHP:
    preg_match_all($regEx,"ciao ciaoaji  [img]img/inferno.jpg[/img] "$matches); 
    stampando con
    Codice PHP:
    print_r($matches[0]); 
    il mio output è : Array ( [0] => src='img/inferno.jpg' )

    mentre dovrebbe essere: Array ( [0] => img/inferno.jpg )

    Ma le leggete le risposte almeno?!?!?!?!
    Non mi sembra che nel mio esempio io abbia stampato $matches[0] bensì $matches[1][0]
    ...neanche il copia/incolla ...e che cavolo
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Originariamente inviato da satifal
    Ma le leggete le risposte almeno?!?!?!?!
    Non mi sembra che nel mio esempio io abbia stampato $matches[0] bensì $matches[1][0]
    ...neanche il copia/incolla ...e che cavolo
    mi potresti spiegare allora perchè nella matrice come l'ho scritta io risulta un output e invece come l'hai scritta tu ne risulta un altro(corretto)?
    Perchè come tu mi hai giustamente fatto notare l'output cambia... e quindi solo ora ho capito che il mio problema non era la ER bensi' la sbagliata lettura della matrice...

  8. #8
    Originariamente inviato da Paul90
    mi potresti spiegare allora perchè nella matrice come l'ho scritta io risulta un output e invece come l'hai scritta tu ne risulta un altro(corretto)?
    Perchè come tu mi hai giustamente fatto notare l'output cambia... e quindi solo ora ho capito che il mio problema non era la ER bensi' la sbagliata lettura della matrice...
    Da manuale:

    codice:
    If matches is provided, then it is filled with the results of search. 
    $matches[0] will contain the text that matched the full pattern, 
    $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Originariamente inviato da satifal
    Da manuale:

    codice:
    If matches is provided, then it is filled with the results of search. 
    $matches[0] will contain the text that matched the full pattern, 
    $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.
    Ti ringrazio molto!
    Si puo chiudere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.