Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434

    Espressione regolare per sostituire &

    Ho un altro problema con le espressioni regolari, ma non sapevo se ripescare l'altro topic così ho deciso di aprirne un altro.

    Ho la necessità di sostituire il carattere & che non è seguito per esempio da amp; oppure deg; o ancora qualcosa come #39; ecc, insomma, tutti i & non seguiti da un'entità html, con un & (in pratica mettere il amp; dopo i & "isolati", che non sono fondamentali per l'html).
    Ho provato con:
    $text = preg_replace( '/&(^([a-z0-9#]+)/i', '&', $text );

    però non funziona... mi lascia tutti i & intatti

  2. #2
    Prova in questo modo:

    Codice PHP:
    $search = array ("'&(quot|#34);'i",                 
                     
    "'&(amp|#38);'i",
                     
    "'&(lt|#60);'i",
                     
    "'&(gt|#62);'i",
                     
    "'&(nbsp|#160);'i",
                     
    "'&(iexcl|#161);'i",
                     
    "'&(cent|#162);'i",
                     
    "'&(pound|#163);'i",
                     
    "'&(copy|#169);'i",
                     
    "'&#(\d+);'e");

    $text preg_replace$search'&'$text ); 
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    ah ma io cercavo un metodo più "pulito", perchè dovrei lasciare tutte le entità html intatte, non è raro che esca anche qualcosa del tipo ¹²³ ecc, non si può trovare cos'è che non va nella espressione regolare che ho scritto io?

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.