Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Espressioni regolari

  1. #1

    Espressioni regolari

    Ragazzi è possibile indicare a preg_replace() di ignorare eventuali caratteri jolly presenti in una parte dell'espressione?

    Sostanzialmente ho due espressioni regolari:
    1) la prima (preg_match) mi trova dei tag particolari all'interno di un documento ed a seconda del tag applica una particolare politica
    2) la seconda (preg_replace) gestisce la politica di sostituzione di quel particolare tag

    ora però quando applico la preg_replace se nell'espressione trovata sono presenti dei caratteri jolly ovviamente non funziona più come dovrebbe.

    c'è una soluzione al problema?

    Dettagli
    codice:
    <html>
    <tag1> ciao </tag1>
    
    <tag2 id="oggi - (domani)"> ole </tag2>
    </html>
    Con la prima regex trovo tag1 e tag2 (con i relativi argomenti [id] se presenti)
    Con la seconda faccio un replace "dinamico" passando nel pattern della regex gli argomenti trovati; ed è proprio qui il problema:
    codice:
    $x = preg_replace("#<tag2\s[^>]*id=\"{$id}\"([^ >]*?)\\1[^>]*>(.*)<\/if>#siU", eval(...), $x);
    se , come nell'esempio, $id conterrà dei caratteri jolly non funziona come dovrebbe.

    help
    Administrator of NAMDesign.Net

  2. #2
    ho risolto, basta utilizzare preg_quote() sulla parte che può contenere caratteri jolly.
    Administrator of NAMDesign.Net

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