Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    Preg, e spazi [molto semplice]

    Allora dunque io avrei la necessita di fare una cosa del genere:

    se ho una stringa del tipo:
    "qualcosa qualcosa [TESTO] auqlcos'altro"

    Io dovre tenere solo la frase dentro alle parentesi quadre.
    allora avevo fatto questo
    codice:
    $testo= "qualcosa qualcosa [TESTO] auqlcos'altro"
    $str="/(\[)(.+)(\])/";
    $strReplace="$2";
    $stringa=preg_replace($str, $strReplace, $testo);
    Ora se tra parentesi quadre ho una stringa con degli spazi.. la preg non funziona...

    Come posso modificarla per le mie esigenze?
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    $testo= "qualcosa qualcosa [TESTO] auqlcos'altro";
    echo preg_replace("/(.*)(\[)(.*)(\])(.*)/", "\\3", $testo);
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da marketto
    codice:
    $testo= "qualcosa qualcosa [TESTO] auqlcos'altro";
    echo preg_replace("/(.*)(\[)(.*)(\])(.*)/", "\\3", $testo);
    Oh fantastico.. provo a complicarla un momento...

    E se qualora incotnrassi degli spazi volessi sotituirli con un'altro carattere ad esempio il - (meno)??
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  4. #4
    suddividi con le parentesi es:
    (.*) (.*) diventa \\1_\\2

  5. #5
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da kentaromiura
    suddividi con le parentesi es:
    (.*) (.*) diventa \\1_\\2
    Non ho mica capito che dici...

    Mi serve di sostituire gli spazi con un carattere (underscore va bene lo stesso) ma solo all'interno delle parentesi quadre.. tutto ciò che è esterno alle parentesi deve rimanere uguale...
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    $testo= "qualcosa qualcosa [TESTO CIAO] auqlcos'altro";
    echo preg_replace("/\ /","_",preg_replace("/(.*)(\[)(.*)(\])(.*)/", "\\3", $testo));
    think simple think ringo

  7. #7
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da marketto
    codice:
    $testo= "qualcosa qualcosa [TESTO CIAO] auqlcos'altro";
    echo preg_replace("/\ /","_",preg_replace("/(.*)(\[)(.*)(\])(.*)/", "\\3", $testo));
    Ah fantastico una preg nidificata...
    Grazie mille Marketto utilissimo...

    Posso chiederti una cosa?
    In un'altro post mi avevi consigliato una preg utilizzando invece di
    \\2
    questo: $2

    Mi sai dire la differenza?

    Hai un link in cui venga esaurito a fondo il discorso preg..ho letto la pillola del forum PHP e letto anche l'articolo su freephp.. qualcosa di più approfondito???

    Grazie mille!!
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  8. #8
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    credo che l'uso di \\ o di $ non comporti differenze


    per i link:
    http://it.php.net/manual/it/pcre.pattern.syntax.php


    think simple think ringo

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.