Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [php] Colorare il risultato di una ricerca

    Dunque, il risultato di una ricerca ($query) mi arriva in una riga ($riga[chie]).
    Ora, vorrei che la parola ricercata dentro la stringa di $riga[chie] venisse colorata in html.
    Quindi devo ad esempio aggiungere
    uno <span> prima dell'inizio della parola ricercata, e uno </span> alla fine.
    Ho fatto così:
    Codice PHP:
                    $mark_chie_research_strlen count(count_chars($a,1));
                    
    # $mark_chie_strlen = strlen($a); # lunghezza stringa ricercata
                    
    $mark_chie_pos strpos($riga[chie], $a); # strpos: A che punto del testo html viene trovata la variabile
                    
    $mark_chie_closetag $mark_chie_pos $mark_chie_research_strlen
    ...ma non so come spezzare la stringa e mettere all'inizio quel tag e alla fine l'altro tag di chiusura.
    Ovviamente queste istruzioni sono dentro un while perchè ovviamente se la parola c'è due volte si deve colorare due volte...
    Qualche idea?

    p.s. in $a c'è la parola ricercata
    わさび

  2. #2
    semplcemente str_replace o un preg_replace per un case insensitive
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da andr3a
    semplcemente str_replace o un preg_replace per un case insensitive
    e cioè come userei str_replace()?
    non capisco molto bene la sintassi

    Se $riga[chie] contiene un testo e in $a ho una parola contenuta in $riga[chie]...
    Codice PHP:
    $nuovochie str_replace($riga[chie], $a"<span>"+$a+"</span>"); 
    :master:
    わさび

  4. #4
    str_replace( $a, '<span>'.$a.'</span>', $riga['chie'] );
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da andr3a
    str_replace( $a, '<span>'.$a.'</span>', $riga['chie'] );
    Grazie 1000, mi stavo impiccando inutilmente
    わさび

  6. #6
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    ...uffi, perchè mi da
    Warning: Delimiter must not be alphanumeric or backslash in /home/virt :master:
    わさび

  7. #7
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    No, per l'errore avevo fatto na cavolata, ma lo str_replace non funziona:
    ho fatto
    Codice PHP:
    if (!empty($a)) { $riga[chie] = str_replace($a"<span>".$a."</span>"$riga[chie]); } 
    e non colora nulla (non concatena gli span), anche se nell'if ci entra =_='
    わさび

  8. #8
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Ci sono riuscito non associando niente a variabili, ma semplicemente mandando in print, però non viene colorato se la parola ad esempio ha una lettera maiuscola e invece quella ricercata è minuscola...
    わさび

  9. #9
    $riga['chie'] = preg_replace( "/(?i)({$a})/", "<span color=\"red\">\\1</span>", $riga['chie'] );
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da andr3a
    $riga['chie'] = preg_replace( "/(?i)({$a})/", "<span color=\"red\">\\1</span>", $riga['chie'] );
    Non ho la benchè minima idea di che cosa tu abbia scritto comunque funziona! ^^ Grazie infinite ancora
    わさび

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 © 2024 vBulletin Solutions, Inc. All rights reserved.