Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Estrarre il contenuto fra due delimitatori, metodo migliore

    Ciao a tutti,
    mi chiedevo quale fosse il metodo migliore per estrarre il contenuto racchiuso fra due delimitatori.
    Vorrei fare questo partendo a ritroso, ovvero dalla fine del contenuto, dove nelle ultime due righe abbiamo <<<cane>>> e <*<casa>*>

    Possiamo usare strrpos( $content, '<<<', -1 ) ) con poi il resto delle operazioni per tenere solo il contenuto fino a >>>

    oppure preg_match("/<<<([^>]+)>>>/", $content, $matches);
    che pero non parte dalla fine, cosa che per me e' importante, perche' potrebbe esserci la possibilita' che nel testo ci sia un altro <<<, mentre a me interessa solo quello messo alla fine del contenuto.

    Vi e' mai capitato?

    grazie mille!

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi fare un strrev il tuo preg_match e poi di nuovo un strrev.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Puoi fare un strrev il tuo preg_match e poi di nuovo un strrev.
    Anziché fare questi giri bizzarri (dovrebbe "strrevare" non solo il $content, ma anche il pattern per il preg_match), io consiglio di fare preg_match_all e prendere solo l'ultimo:
    Codice PHP:
    $tot preg_match_all("/<<<([^>]+)>>>/"$content$matches);
    $c matches[1][$tot-1]; 
    PS: qualcosa mi dice che tutti i < e > vadano escappati

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se è proprio alla fine de documento prova preg_match("/<<<([^>]+)>>>$/", $content, $matches);
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    grazie a tutti... alla fine ho messo tutto dentro un unico contenitore e ho diviso le due parti "<<<casa-cane>>>" con il trattino cosi da potere fare un explode. In questo modo posso fare il controllo della stringe esattamente dalla fine con strrpos( $content, '<<<', -1 ) ).

    ciao ciao

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.