Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    immagini ed espressioni reg

    Volevo fare questo: permettere nei post del mio blog i tag img solo se img widht <= 100. penso si possa fare con le espressioni regolari solo non so precisamente come . Mi date una mano?
    www.staffords.it
    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  2. #2
    allora pensandoci la logica è questa:
    1) processo la stringa con un ereg a trovare il tag <img> e metto in variabile,
    2) altro ereg che mi trova il widht="" il contenuto del widht viene posto in una variabile che chiamo $img_widht il cui valore viene confrontato con il $max_allowed_height
    3) se widht è trovato e $img_widht <= $max_allowed_height allora viene rilasciato il tag img altrimenti viene strippato fuori.
    Spero vi sia chiaro.Mi potete aiutare a tradurre questa logica in php siccome sono neofita?

    thank you
    www.staffords.it
    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  3. #3
    Se il 100 non fosse compreso, quindi permettendo una dimensione tra 0 e 99, basterebbe dire alla funzione di togliere il tag img solo se il numero, l'argomento di width, ha 3 o più cifre.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  4. #4
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    si fa col preg_replace, le eregi sono espressioni regolari posix-compatibili

  5. #5
    Supponiamo che ho $post in cui è contenuto il testo così come estratto dal db, con all'interno dei tag img.

    1) preg_match_all con cui riconosco tutti i tag img da <img ... /> e li metto in array. Giusto?

    2) esamino con ciclo ogni elemento dell'array col preg_match per trovare widht="" e il valore. Se <= del massimo consentito lo rilascio così come è all'interno dell'array altrimenti sostituisco con ''.

    3)nuovo preg_replace che mi sostituisce ogni tag img di $post con gli elementi contenuti all'interno dell'array creato.

    Che ne dite funziona così?

    Mi serve però la sintassi per il preg_match_all per riconoscere da <img ...a />

    Dai ragazzi altrimenti non combino niente oggi al lavoro se prima non risolvo per il mio sito
    www.staffords.it
    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  6. #6
    vediamo se mi riesce

    Codice PHP:
    $regexp "(<img[[ \t\n\r\f\v]|[A-Za-z0-9]]/>)";
    //non ci vuole spazio prima della ultima tonda, ce lo ha messo il forum

    if(preg_match($regexp$post) == TRUE)
    //il riconoscimento del tag <IMG> è avvenuto 
    non l'ho testato in tutte le condizioni possibili ma i tag IMG li riconosce
    per la cronaca, riconosce (te lo scrivo in pseudo-php):

    Codice PHP:
    "<img".qualsiasi_carattere_vuoto_o_alfanumerico."/>" 

  7. #7
    grazie mille
    www.staffords.it
    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  8. #8
    :master:

    e fare un getimagesize()???
    Ciao!

  9. #9
    Originariamente inviato da fmortara
    :master:

    e fare un getimagesize()???
    credo che a lui il controllo serva più sul tag <img> che sull'immagine...

  10. #10
    no...

    Codice PHP:
    // $width lo prendo con list da getimagesize();

    if($width >= "100") {
          
    $width "100";

    cosi non mi perdo in espressioni regolari....
    e visualizzo tutte le immagini cmq...
    Ciao!

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.