Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    229

    wildcard * in interrogazioni xpath

    ciao a tutti qualcuno sa dirmi come implementare l'uso del carattere * nelle ricerca su file xml. Esempio se inserisco nel form di ricerca città = " par* " mi deve restituire tutte le citta che nel tag nome cominiciano per par.
    xml file

    <città>

    <nome> nome1 </nome>
    <nome> nome2</nome>
    <nome> nome3</nome>

    <città>


    grazie
    Ad Maiora

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Se l'xml lo usi come oggetto o array, potresti nel ciclo verificare la presenza della parola inserita. Ad es.:
    Codice PHP:

    foreach($xml as $citta){
    if(
    eregi('par',$citta){echo "trovato parola_ricerca in: ".$citta;});

    o
    Codice PHP:
    foreach($xml as $citta){
    if(
    substr($citta,0,3) == 'par'){echo "trovato parola_ricerca in: ".$citta;});

    La vita e' uno switch();

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    229
    forse non mi sono spiegato bene è l'utente che nel campo ricerca può inserire il carattere * per fare le ricerche.
    uso dom e xpath.

    qualcuno sa indicarmi un soluzione???


    saluti
    Ad Maiora

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Non sono pratico di dom ma se ti puo' servire come idea iniziale..
    Codice PHP:
    //$parola = '*par';
    foreach($xml as $citta){
        if(
    substr($parola,0,1) == '*'){
            if(
    substr($parola,-3,3) == 'par'){echo "citta finisce per parola chiave";};
        }elseif(
    substr($parola,-1) == '*'){ 
            if(
    substr($parola,0,3) == 'par'){echo "citta inizia per "$parola;};
        }elseif(
    eregi('*',$parola)){
            if(
    eregi($parola,$citta)){echo "citta contiene "$parola;};
        }

    meglio con un espressione regolare .
    La vita e' uno switch();

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.