Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611

    Espressione regolare per sostituire caratteri

    ciao a tutti
    ho una stringa simile a

    codice:
    width="230" height="123"
    vorrei in pratica sostituire il valore della larghezza e dell'altezza con dei valori miei, solo che sia width che height non sono valori fissi ma cambiano.

    ho pensato di utilizzare le espressioni regolari in questo modo

    codice:
    eregi_replace('width="(.+)"', 'width="'.$w.'"',$str)
    (nell'esempio riporto solo width)

    solo che mi cambia width ma mi tronca il resto della stringa

    dove sbaglio?
    grazie anticipatamente a tutti
    NON ABBANDONATE CANI O GATTI!!!

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Codice PHP:

    eregi_replace
    ('width="(.+)"''width="'.$w.'"',$str
    Non mi ricordo la sintassi ma secondo me dovresti scrivere al posto di (.+) (nessun "+).
    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
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    Originariamente inviato da badaze
    Codice PHP:

    eregi_replace
    ('width="(.+)"''width="'.$w.'"',$str
    Non mi ricordo la sintassi ma secondo me dovresti scrivere al posto di (.+) (nessun "+).
    Esatto, la sintassi della negazione è questa:

    ([^"]+)

    Altrimenti con il .+ vengono recuperati tutti i caratteri (eccetto il ritorno a capo) presenti almeno una volta, quindi comprendendo ciò che è presente dopo la chiusura dell'attributo width=""
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  4. #4
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    Un'ultima cosa: dalla versione 5.3 di PHP sono deprecate le funzioni che usano il pattern POSIX, come ereg*(). Iniziamo a usare solo le espressioni regolari PCRE tramite le funzioni preg_*()

    Le differenze sono elencate qui: http://www.php.net/manual/it/referen...tern.posix.php

    Quella principale è l'uso dei caratteri delimitatori, entro cui vanno scritti i pattern.
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

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 © 2026 vBulletin Solutions, Inc. All rights reserved.