Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [REGEX] picolla modifica

    attualmente questo:
    $text = preg_replace("#\[img\]((ht|f)tp://)([^ \?&=\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
    corregge (non so come, non ci capisco) un URL assoluto o completo e fa in modo di far comparire una foto presa da un album del sito

    io vorrei che funzionasse inserendo solamente il numero della foto tipo
    [IMG](qls numero usato come ID della foto)[/IMG]
    __________________________________________________ ___
    IL DETTAGLIO DEL PROBLEMA:
    ho il forum phpBB2plus che grazie a questo codice permette di postare le foto presenti nel proprio album
    if (substr_count( $text, $_SERVER["SERVER_NAME"]) && substr_count( $text, "album_pic.php"))
    {
    $text = preg_replace("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
    }
    else
    {
    $text = preg_replace("#\[img\]((ht|f)tp://)([^ \?&=\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
    }
    il fatto è che richiede l'url completo e io non vorrei questo, perchè se cambio il server, il dominio o la cartella poi non mi funziona niente

    quindi pensavo di modificare la regex della prima condizione ma non sono molto pratico, come si fa? All'inizio ho provato la furbata di usare le parole 'censurate', così sostituivo una parola chiave 'site' con l'attuale path ...la sostituzione avveniva ma il BBcode non interpretava l'url

    come posso scrivere una cosa del genere?
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  2. #2
    chi spippola trova....ecco la soluzione:
    codice:
    $text = preg_replace("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text); 
    
    $text = preg_replace("#\[img\]([0-9]+)\[/img\]#sie", "'[img:$uid]http://www\.dominio\.it/forum/album_pic.php\?pic_id=\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
    la prima corregge i normali url per le foto linkate nei post
    la seconda corregge chi inserisce solo un numero per pescare la foto dall'album nel sito


    tuttavia, è noto che le modifiche a tali codici hanno effetto solo per i nuovi post ...non so perchè ...quindi mi chiedo:
    se un giorno cambio il dominio o la cartella e cambio tale codice, ciò avrà effetto per i post già esistenti? :master:
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  3. #3
    avevo ragione

    ma con questa ovvia modifica funziona...mi sento DIO:

    codice:
    $text = preg_replace("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text); 
    
    $text = preg_replace("#\[img\]([0-9]+)\[/img\]#sie", "'[img:$uid]album_pic.php\?pic_id=\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

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.