Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    sostituire percorso assoluto con preg_replace

    necessiterei di eliminare in un contenuto il percorso assoluto e l'estensione del file.

    Ho tentato con preg_replace, ma l'unica cosa che esegue è la sostituzione nel contenuto di "\t" con uno spazio tabulatore.

    Non riesco a capire dove sbaglio....


    $contenuto = "http:\\www.domain.ext\images\today\icons\ico19_0_0.png
    http:\\http://www.domain.ext\images\tomorro...\ico19_0_0.png";
    $contenuto = preg_replace("#http(.+?)/icons/ico(.+?).png#e","$2",$contenuto);
    echo $contenuto;

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Garzie,

    funziona con

    Codice PHP:
    error_reporting(E_ALL);

    $contenuto '<icona1>[url]http://www.domain.ext/images/today/icons/ico1.png[/url]</icona1>
    <icona2>[url]http://www.domain.ext/images/today/icons/ico2.png[/url]</icona2>
    <icona3>[url]http://www.domain.ext/images/today/icons/ico3.png[/url]</icona3>'
    ;

    $contenuto preg_replace('/\>http(.+?)\/icons\/ico(.+?).png\</i','>$2<',$contenuto);

    echo 
    "
    "
    .$contenuto
    mentre se devo modificare il testo di un file esterno non funziona ...

    Codice PHP:
        $contenuto file_get_contents($directory.$value);
        
    $contenuto preg_replace('/\>http(.*\/)\/icons\/ico(.+?).png\</i','>$2<',$contenuto); 
        
    //echo $contenuto; exit;
        
    $fp fopen ($directory.$value"w");
        
    fwrite ($fp$contenuto);
        
    fclose ($fp); 
    Non riesco a capire il motivo...

    Grazie per un consiglio

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012

    Re: sostituire percorso assoluto con preg_replace

    Originariamente inviato da epescol
    necessiterei di eliminare in un contenuto il percorso assoluto e l'estensione del file.

    Ho tentato con preg_replace, ma l'unica cosa che esegue è la sostituzione nel contenuto di "\t" con uno spazio tabulatore.

    Non riesco a capire dove sbaglio....


    $contenuto = "http:\\www.domain.ext\images\today\icons\ico19_0_0.png
    http:\\http://www.domain.ext\images\tomorro...\ico19_0_0.png";
    $contenuto = preg_replace("#http(.+?)/icons/ico(.+?).png#e","$2",$contenuto);
    echo $contenuto;
    io farei così...

    Codice PHP:

    $links
    =explode("
    "
    ,$contenuto);
    foreach(
    $links as $link)
      {
      
    $name=basename($link,'png'); //restituisce     ico19_0_0
      //oppure
      
    $name_2=substr(basename($link,'png'),3); // restituisce 19_0_0
      

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie,

    putroppo non ho la possibilità di separare la stringa con explode ....

    in pratica dovrei rimuovere da un file XML il percorso e l'estensione dei file tra i tags....


    <?xml version="1.0"?>
    <icona1>http://www.domain.ext/images/today/icons/ico1.png</icona1>
    <icona2>http://www.domain.ext/images/today/icons/ico2.png</icona2>
    <icona3>http://www.domain.ext/images/today/icons/ico3.png</icona3>

    ho postato anche un altro messaggio in quanto non riesco a far funzionare file_get_contents in combinazione con preg_replace

    http://forum.html.it/forum/showthrea...readid=1207905

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.