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

    [php]espressioni regolari con ereg_replace

    Ciao a tutti!
    Ho l'ennesimo problema con le espressioni regolari...io ho un testo così: <p color=#ff0000> e lo devo trasformare così: <p style="color: #ff0000">. L'importante è che ci siano le virgolette che mi racchiudono lo style, altrimenti non me lo valida. Senza virgolette sonoi riuscito pure io a modificarla la stringa, ma il mio problema è appunto mettercele.


    Qualcuno mi dà una mano?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

  2. #2
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    che codice hai usato?

  3. #3
    http://www.php.net/manual/it/pcre.pattern.syntax.php

    Puoi scrivere per favore l'espressione regolare che utilizzi?
    ciao ciao !!
    _______________
    home : cristianolongo.altervista.org
    e-mail : cristiano_longo@yahoo.it

  4. #4
    adesso l'ho cancellato perché non funzionava comunque era così:

    codice:
    $stringa = preg_replace("(color=#)[a-zA-Z0-9]{6}", "style=color: \\\"[a-zA-Z0-9]{6}\\\"", $testo)
    Non mi ci raccapezzolo molto col le espressioni regolari, ho letto la pillola e vario materiale in giro, anche sui manuali php, ma non riesco a venirne fuori, riuscite a darmi una mano?

    Grazie
    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

  5. #5
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    Codice PHP:
    $stringa preg_replace("/(color=#)([a-fA-F0-9]{6})/""style=\"color: $2\""$testo); 

  6. #6
    mi correggo un secondo, forse voi volevate il codice che uso per trasformarlo senza le virgolette, se è così avevo capito male e mi scuso, quello che ho postato io era quello che tentavo di fare con le virgolette, ma che naturalmente non mi funziona. Quello invece che mi funziona e che uso senza aggiungere nessuna virgoletta è semplicemente un str_replace:

    Codice PHP:
    $stringa str_replace("color=#""style= color:#"$stringa); 
    ma come detto prima questo non è sufficiene...grazie ancora e scusate per la piccola incomprensione.

    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
    Originariamente inviato da bubu sette sette
    Codice PHP:
    $stringa preg_replace("/(color=#)([a-fA-F0-9]{6})/""style=\"color: $2\""$testo); 
    Grazie mille funziona!! :metallica
    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

  8. #8
    sto gurdando la guida postata da cristiano_longo (che poi è la stessa che usavo anche io), ma non è che ci capisca molto, ad esempio, nell'istruzione proposta da bubusettesette c'è quel $2 che non capisco cosa significhi.
    Poi ho un'altra espressione regolare che mi hanno consigliato sempre sul forum e che mi rimpicciolisce ogni tag html ed è così strutturata:

    codice:
    $stringa = preg_replace("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtolower('\\2').'\\3'", $stringa);
    Forse avrei dovuto farlo quando me l'hanno proposta, ma visto che anche qui si parla sempre di espressioni regolari, volevo chiedervi se riuscivate a spiegarmela in modo semplice, tipo, cosa significa quell' 1? oppure quei \\2 e \\3...

    Io mi sto spulciando la guida, ma non ho trovato nessun riferimento, andando per intuizione direi che 1 sta ad indicare la prima parte dell'espressione regolare, vale a dire (<\/?), 2 la seconda e così via...ma non vorrei dire delle stupidate.

    Grazie mille e scusate per il disturbo!
    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.