Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    Inserire tag in posizione precisa

    Devo cercare in una stringa la sequenza di caratteri ",xx" (virgola seguita da due numeri, indefiniti), per inserire subito dopo un tag con str_replace.
    Quindi, se trova - ad es. - ,03 oppure ,35 o ,72 (o quant'altro), deve sostituirli (ad es.) con ,03</span>
    Immagini si possa fare con le reg_ex, ma come?
    metatad
    graphic & web design

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi fare cosi.

    Codice PHP:
    <?php 
    $string  
    "aer 0,12 ioiodo 9119,98 idido 76 diOISIJ18,65 178,8 9001,123 LLL34";
    $pattern "/(\,)\d{2}(\D)/";
    $replace "XX";
    $result  preg_replace($pattern,"\\1$replace\\2",$string);
    print 
    '<p style="font-family:\'Courier New\'">';
    print 
    "Prima&nbsp;: $string<br/>";
    print 
    "Dopo&nbsp;&nbsp;: $result<br/>";
    print 
    "</p>";
     
    ?>

    Prima : aer 0,12 ioiodo 9119,98 idido 76 diOISIJ18,65 178,8 9001,123
    LLL34
    Dopo : aer 0,XX ioiodo 9119,XX idido 76 diOISIJ18,XX 178,8 9001,123
    LLL34
    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
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Ma questo cosa fa ?

    "\\1$replace\\2"

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Thanx!
    metatad
    graphic & web design

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da cassano Visualizza il messaggio
    Ma questo cosa fa ?

    "\\1$replace\\2"
    $pattern = "/(\,)\d{2}(\D)/";

    \\1 corrisponde a (\,)
    \\2 corrisponde a (\D)

    Esempio :
    Hai la stringa " 111,10A" => In questo caso \\1 = , e \\2 = A. \\x consente quindi di catturare una parte del pattern racchiuso tra parentesi. La prima ( corrisponde a \\1 e la seconda ( a \\2, etc...

    Se metto solo "$replace" allora preg_replace rimpiazza ,10A con XX e ottengo 111XX

    Se metto "\\1$replace\\2" allora preg_replace rimpiazza ,10A con ,XXA e ottengo 111,XXA

    Hai la stringa "111,10A 98,12D". Riesci a dire quali saranno i valori di \\1 e \\2 per i due rimpiazzamenti ?
    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

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Quote Originariamente inviata da badaze Visualizza il messaggio
    $pattern = "/(\,)\d{2}(\D)/";

    \\1 corrisponde a (\,)
    \\2 corrisponde a (\D)

    Esempio :
    Hai la stringa " 111,10A" => In questo caso \\1 = , e \\2 = A. \\x consente quindi di catturare una parte del pattern racchiuso tra parentesi. La prima ( corrisponde a \\1 e la seconda ( a \\2, etc...

    Se metto solo "$replace" allora preg_replace rimpiazza ,10A con XX e ottengo 111XX

    Se metto "\\1$replace\\2" allora preg_replace rimpiazza ,10A con ,XXA e ottengo 111,XXA

    Hai la stringa "111,10A 98,12D". Riesci a dire quali saranno i valori di \\1 e \\2 per i due rimpiazzamenti ?
    Grazie.

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.