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

    [php]aiuto su funzione preg_replace

    io ho una stringa che contiene il codice html di una pagina e quindi una cosa del genere (molto semplificata ):

    codice:
    <html>
    <body>
    <blockquote>
    <h1>titolo news</h1>
    <h2>sottotitolop news</h2>
    testo news</blockquote>
    </body>
    </html>
    io devo estrapolare titolo, sottotitolo e testo della news...ho scritto 3 preg del genere:

    codice:
    $titolo=preg_replace("/(<h1>)(.|\n)*(<\/h1>)/","$2",$f);
    $sottotitolo=preg_replace("/(<h2>)(.|\n)*(<\/h2>)/","$2",$f);
    $testo=preg_replace("/(<\/h2>)(.|\n)*(<\/blockquote>)/","$2",$f);
    	
    print "titolo: ".strip_tags($titolo);
    print "
    \nsottotitolo: ".strip_tags($sottotitolo);
    print "
    \ntesto: ".strip_tags($testo);
    ma ogni variabile contiene tutto il codice della pagina...


    un aiutino?




    grassssssie
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    usa direttamente str_replace.

  3. #3
    ?? :master:


    e come li ricavo i valori di titolo, sottotitolo e testo semplicemente con str_replace? devo usare le preg o sbaglio?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    preg_match( "#<h1>(.*)</h1>#U", $stringa, $ris );
    $titolo = $ris[1];
    preg_match( "#<h2>(.*)</h2>#U", $stringa, $ris );
    $sottotitolo = $ris[1];
    preg_match( "#</h2>(.*)</blockquote>#Us", $stringa, $ris );
    $testo = $ris[1];


    think simple think ringo

  5. #5
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    ah vero..scusa io non ne capisco di espressioni regolari...mi spiace.

  6. #6
    Originariamente inviato da marketto
    codice:
    preg_match( "#<h1>(.*)</h1>#U", $stringa, $ris );
    $titolo = $ris[1];
    preg_match( "#<h2>(.*)</h2>#U", $stringa, $ris );
    $sottotitolo = $ris[1];
    preg_match( "#</h2>(.*)</blockquote>#Us", $stringa, $ris );
    $testo = $ris[1];


    ci siamo quasi

    nel senso che $titolo non me lo prende e non capisco perché...
    e poi mi toglie tutti i tag html che ho nelle variabili titolo, sottotitolo e testo...
    comuunqe sei un genio con le espressioni regolari

    ma i caratteri speciali # e #U e #Us cosa significano?


    Grazie mille!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    nn credo proprio di esserlo, credo si potesse fare tutto con una sola regexp


    per i modificatori di criterio:
    http://it2.php.net/manual/it/referen....modifiers.php



    think simple think ringo

  8. #8
    Originariamente inviato da marketto
    nn credo proprio di esserlo, credo si potesse fare tutto con una sola regexp
    urco!! addirittura?


    Originariamente inviato da marketto
    per i modificatori di criterio:
    http://it2.php.net/manual/it/referen....modifiers.php



    grazie! però io continuo a non capire come mai sopra non mi funziona per il titolo...e perché mi toglie le formattazioni html..
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  9. #9
    ti chiedo scusa ma sono davvero in palla oggi!

    funziona perfettamente tutto! ho aggiunto il modificatore s anche al titolo e al sottotitolo...e i tag html vengono tolti perché uso io la funzione strip_tags


    sorry ma a quest'ora inizio a perdere un pò i colpi



    grazie ancora!!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.