Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    22

    espressioni regolari, queste sconosciute

    salve ragazzi,
    ho un problema con le espressioni regolari, mi spiego meglio:
    sostanzialmente ho un campo di testo che contiene al suo interno una stringa così composta "[immagine1.jpg][immagine2.gif][immagine3.jpg]ecc..."
    con le regex dovrei estrapolarne il testo per poi convertirlo nella sintassi html <img src="......>
    per il riconoscimento della stringa ho utilizzato questa espressione : (\[)[a-zA-Z0-9 \.\-_]+(\]) che sembra funzionare, non so fare però l'estrazione, avete qualcosa da consigliarmi??
    grazie mille ragazzi, vi prego aiutatemi
    ciao ciao!
    yeah babyyyyy... :metallica:

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Forse nel tuo caso specifico non hai bisogno delle regexp. Un str_replace basterebbe.

    codice:
    Senza regexp
    <? 
    $a = "[immagine1.jpg][immagine2.gif][immagine3.jpg]";
    $a = str_replace("[","<img src=\"",$a);
    $a = str_replace("]","\">",$a);
    print $a;
    ?>
    Con regexp
    <? 
    $b = "[immagine1.jpg][immagine2.gif][immagine3.jpg]";
    $pattern = "|\[([^]]*)\]|";
    $c = preg_replace($pattern,"<img src=\"\\1\" alt=\"\\1\">",$b);
    print $c;
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    22
    ci provo e ti faccio sapere, grazie!
    yeah babyyyyy... :metallica:

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    22
    grazie, funziona!
    ma potresti spiegarmi cosa vuole dire la tua espressione? sinceramente non l'ho capita (anche se funziona), e la mia, perchè è errata?
    cosicchè possa rendermene conto, grazie mille!
    yeah babyyyyy... :metallica:

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da baksg
    grazie, funziona!
    ma potresti spiegarmi cosa vuole dire la tua espressione? sinceramente non l'ho capita (anche se funziona), e la mia, perchè è errata?
    cosicchè possa rendermene conto, grazie mille!
    Per dire la verità la tua non l'ho provata... quindi non posso dire che non funzioni.

    Cosa significa ???? $pattern = "|\[([^]]*)\]|";

    Il carattere [ seguito da 0 a N caratteri diversi da ] seguiti dal carattere ]. Le parentesi servono per catturare i caretteri diversi da ] tra [ e ]. Quella cattura viene poi utilizzata con \\1 per sostituire la parte parsata cioè [pippo.jpg] con [img]pippo.jpg[/img] in questo caso \\1 è uguale a pippo.jpg.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    22
    ok ci siamo, ma gli "|" a che servono?
    yeah babyyyyy... :metallica:

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da baksg
    ok ci siamo, ma gli "|" a che servono?
    Serve a delimitare la stringa di regexp.

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.