Visualizzazione risultati 1 fino 9 di 9

Discussione: [PHP] Sottolineatura se MSG = Nome Utente

  1. #1
    Guest

    Predefinito [PHP] Sottolineatura se MSG = Nome Utente

    Ciaoooo!

    Sto scrivendo il codice di una chat php e volevo inserire una particolare funzione che porti un messaggio ad essere leggermente modificato se viene visualizzata una parola uguale al nickname di un utente, ovviamente che venga modificato solo all' utente che ha per nick la parola contenuta nel messaggio.

    Codice PHP:
    <?PHP
    /*Messaggio per tutti*/
    }
    else if (
    $TIPO_CHAT==Messaggio){
    ?>
    <table width="100%" border=0 cellspacing=0><tr><td><font class='orario'><?=$DATA_CHAT?></font> <img src=<?=$URLSESSO_CHAT?> alt='<?=$SESSO_CHAT?>' width="10" height="10" border='0'><font class='ChatAct'> <?=$USER_CHAT?> <?=$MSG_CHAT?></td></tr></table>

    <?PHP
    /*Messaggio utente nick=messaggio*/
    }else if(strtoupper($MSG_CHAT)==strtoupper($_SESSION['USERNAME'])){
    ?>
    <table width="100%" border=0 cellspacing=0><tr><td><font class='orario'><?=$DATA_CHAT?></font> <img src=<?=$URLSESSO_CHAT?> alt='<?=$SESSO_CHAT?>' width="10" height="10" border='0'><font class='ChatAct'> <?=$USER_CHAT?> <u><?=$MSG_CHAT?></u></td></tr></table>
    Ho fatto questo test, ma non è riuscito (in questo caso avrei voluto far visualizzare il messaggio sottolineato a quello che vede un messaggio contenente il suo nick).

    Qualcuno sa indicarmi dov'è l'errore?

  2. #2
    Guest

    Predefinito

    io in questo caso farei roba del tipo
    Codice PHP:
    //controlla se trova la stringa col nome dell'utente nella stringa di chat
    }elseif(strpos($MSG_CHAT, $_SESSION['USERNAME'])){
    ?>
    ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da SFo
    io in questo caso farei roba del tipo
    Codice PHP:
    //controlla se trova la stringa col nome dell'utente nella stringa di chat
    }elseif(strpos($MSG_CHAT, $_SESSION['USERNAME'])){
    ?>
    ciao!
    Non funziona neanche così

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    L'utilizzo di strpos mi sembra cosa buona e giusta,
    ma proverei a mantenere il controllo "case insensitive" (indipendente da maiuscole/minuscole).
    Visto che non giriamo su php5, che ha l'apposita funzione stripos (nota la i che sta per -case- insensitive) proverei quindi a mantenerlo insensitive alla vecchia maniera:
    Codice PHP:
    }elseif(strpos(strtolower($MSG_CHAT), strtolower($_SESSION['USERNAME']))){
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    Guest

    Predefinito

    roger
    anche se per alleggerire ulteriormente io farei un bel str_replace di $_SESSION['USERNAME'] in <u>$_SESSION['USERNAME']</u> nella stringa $MSG_CHAT visto che ora converte tutta la stringa e non solo il nick, vediamo come gli va ora ^^
    buon pranzo!

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Sì sarebbe sicuramente molto ottimizzato.. purtroppo stiamo sempre lì, manca sempre il controllo case-insensitive, che solo php5 ha con str_ireplace.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    e allora siamo sempre lì e usiamo strtolower
    mmorg? allora? funge?
    ciao!

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Eh insomma..
    con strpos era un conto.. qui invece faresti un replace SECCO, come lo usi lo strtolower ?
    Se hai in mente qualcosa prova a abbozzare la riga di codice, ma non vedo un'applicazione analoga.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  9. #9
    Guest

    Predefinito

    Eccomi, scusate il ritardo!
    Intanto vi ringrazio entrambi :P

    Il problema però persiste, nel senso che non accade praticamente nulla.
    La casistica della sottolineatura non funziona ç_ç

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •