Visualizzazione risultati 1 fino 14 di 14

Discussione: Sostituire print_r() con un echo

  1. #1
    Guest

    Predefinito Sostituire print_r() con un echo

    Per completare questo codice devo riuscire a sostituire print_r() con un echo perché ora stampa così Array([0]=>mela)

    Codice PHP:
    $stringa = $_POST['nome'].' '.$citta.' '.$messaggio;
    function
    detectBadWords($stringa, array $paroleArray) {
    $detected = array();
    foreach (
    $paroleArray as $parola) {
    if (
    preg_match("/\b{$parola}\b/i", $stringa, $matches)) {
    $detected[] = $matches[0];
    }
    }
    return
    $detected;
    }
    print_r(detectBadWords($stringa, $paroleArray));

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    foreach + echo?

    che poi dipende da cosa ti serve: potresti far l'echo anche dentro l'if della preg_replace...

    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    foreach + echo?

    che poi dipende da cosa ti serve: potresti far l'echo anche dentro l'if della preg_replace...

    Ciao!
    Cioè, spiegami, non sono molto ferrato, come si applicherebbe al mio codice?
    L'echo mi serve per mettere a video la parola
    Ultima modifica di photoman : 13-09-2012 alle ore 01.13.55 Motivo: Aggiunta

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Invece di
    Codice PHP:
    print_r(detectBadWords($stringa, $paroleArray));
    fare una cosa del tipo:
    Codice PHP:
    $arr = detectBadWords($stringa, $paroleArray);
    foreach(
    $arr as $valore)
    echo
    $valore.'<br>'.PHP_EOL;
    Ciao!

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Invece di
    Codice PHP:
    print_r(detectBadWords($stringa, $paroleArray));
    fare una cosa del tipo:
    Codice PHP:
    $arr = detectBadWords($stringa, $paroleArray);
    foreach(
    $arr as $valore)
    echo
    $valore.'<br>'.PHP_EOL;
    Ciao!
    Cosi va meglio, quel PHP_EOL serve? L'ho tolto e il codice funziona lo stesso

    Codice PHP:
    $stringa = $_POST['nome'].' '.$citta.' '.$messaggio;
    function
    BadWords($stringa, array $paroleArray) {
    $detected = array();
    foreach (
    $paroleArray as $parola) {
    if (
    preg_match("/\b{$parola}\b/i", $stringa, $matches)) {
    $detected[] = $matches[0];
    }
    }
    return
    $detected;
    }
    $arr = detectBadWords($stringa, $paroleArray);
    foreach(
    $arr as $valore)
    echo
    $valore.'<br>'.PHP_EOL;
    Ultima modifica di photoman : 13-09-2012 alle ore 10.44.35 Motivo: Aggiunta

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    PHP_EOL è una costante che rappresenta il "fine linea".

    Diciamo che è come "\n".

    Ciao!

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    PHP_EOL è una costante che rappresenta il "fine linea".

    Diciamo che è come "\n".

    Ciao!
    Praticamente è il <br /> in xhtml, in questo caso mi potrebbe servire se ho più item incolonnati da stampare

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    mmh no. C'é differenza tra <br> e \n.

    Il primo, fa andare a capo nella visualizzazione della pagina. Quindi se scrivi un testo, e metti <br>, il visitatore se ne accorge che il testo è andato a capo. Mentre \n manda a capo l'html, quindi lo fa "a livello del sorgente". In questo caso, il visitatore non se ne accorge (a meno di non leggere il codice html della pagina).

    Forse questi esempi possono chiarire meglio:

    Codice HTML:
    <p>questo testo
    va a capo solo nel sorgente</p>
    <p>questo testo <br> va a capo solo nella pagina</p>
    <p>questo testo <br>
    va a capo sia nella pagina, sia nel sorgente</p>
    Codice PHP:
    <?php
    echo '<p>questo testo'.PHP_EOL.'va a capo solo nel sorgente</p>'.PHP_EOL;
    echo
    '<p>questo testo <br> va a capo solo nella pagina</p>'.PHP_EOL;
    echo
    '<p>questo testo <br>'.PHP_EOL.'va a capo sia nella pagina, sia nel sorgente</p>'.PHP_EOL;

    #il risultato è "uguale":

    echo '<p>questo testo'."\n".'va a capo solo nel sorgente</p>'."\n";
    echo
    '<p>questo testo <br> va a capo solo nella pagina</p>'."\n";
    echo
    '<p>questo testo <br>'."\n".'va a capo sia nella pagina, sia nel sorgente</p>'."\n";
    ?>
    Comunque stiamo andando OT.

    Ciao!
    Ultima modifica di alemoppo : 13-09-2012 alle ore 11.48.23

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    mmh no. C'é differenza tra <br> e \n.

    Il primo, fa andare a capo nella visualizzazione della pagina. Quindi se scrivi un testo, e metti <br>, il visitatore se ne accorge che il testo è andato a capo. Mentre \n manda a capo l'html, quindi lo fa "a livello del sorgente". In questo caso, il visitatore non se ne accorge.

    Ciao!
    In che senso "a livello di sorgente", intendi dire che quando arriva a fine cella o div va a capo da solo?

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    a livello di sorgente intendo nel codice html, e non nella pagina interpretata dal browser. Prova quei codici sopra, e vedrai...

    Ciao!

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    a livello di sorgente intendo nel codice html, e non nella pagina interpretata dal browser. Prova quei codici sopra, e vedrai...

    Ciao!
    Si, è quello che intendevo io, è ovvio che il PHP_EOL o \n essendo lato server non è visibile, però stampa a capo come farebbe il br, sono 2 controlli diversi ma che danno lo stesso risultato, o sbaglio.

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    PHP_EOL e \n danno lo stesso risultato.... però in alcuni sistemi operativi, il "simbolo" corretto per andare a capo è "\r\n" (\r = "ritorno del carrello", \n="new line"), mentre per altri è "\n" (ma ce ne son anche altri...). Quindi, PHP_EOL indica il carattere corretto nel sistema installato.

    i br invece fa un'altro risultato, ovvero dice al browser di andare a capo nel testo della pagina. Ma nel sorgente, effettivamente non va a capo.

    Ciao!
    Ultima modifica di alemoppo : 13-09-2012 alle ore 12.24.10

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    PHP_EOL e \n danno lo stesso risultato.... però in alcuni sistemi operativi, il "simbolo" corretto per andare a capo è "\r\n" (\r = "ritorno del carrello", \n="new line"), mentre per altri è "\n". Quindi, PHP_EOL indica il carattere corretto nel sistema installato.

    i br invece fa un'altro risultato, ovvero dice al browser di andare a capo nel testo della pagina. Ma nel sorgente, effettivamente non va a capo.

    Ciao!
    C'è qualcosa che non min quadra, se io metto <br /> mi stampa a capo, perciò a che serve mettere \n? Dopotutto non è il risultato a video che conta?

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Beh dunque... Il tuo discorso può anche esser corretto: che me ne frega come è il sorgente, tanto quello che conta è "quello che si vede" (il risultato, appunto).
    Però, se vuoi scrivere l'html in modo comprensibile (da leggere), con un minimo di indentazione, andare a capo e d'obbligo.
    Inoltre, ci sono tag particolari (come <pre>), che vanno a capo anche con un \n.
    Infine, il \n serve se vuoi scrivere in un file di testo: lì per andare a capo devi per forza usare un \n, perché è "puro testo", non interpretato.

    (ho usato il termine "\n" indicando l'andata a capo. Che poi sia \r\n o altro, è un altro discorso :)

    Ciao!
    Ultima modifica di alemoppo : 13-09-2012 alle ore 16.53.05

Regole di scrittura

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