Domanda

Ho un gruppo di file html di un sito che sono stati creati nel 2000 e sono stati mantenuti fino ad oggi. Abbiamo recentemente iniziato uno sforzo per sostituire i caratteri illegali con i loro entità HTML. Andando una pagina all'altra in cerca di simboli di copyright e di marchio tag sembra un bel lavoretto. Qualcuno di voi sa di un app che avrà un gruppo di file html e dimmi dove ho bisogno di sostituire i caratteri illegali con entità HTML?

È stato utile?

Soluzione

Si potrebbe scrivere uno script PHP (se è possibile, in caso contrario, sarei felice di aiutare), ma suppongo che già convertito alcuni dei "caratteri speciali", in modo che non rendere il compito un po 'più difficile ( anche se io continuo a pensare che sia possibile) ...

Altri suggerimenti

Ogni buon editor di testo farà una ricerca di contenuti dei file per voi e restituiscono un elenco di partite.

Lo faccio con EditPlus . Ci sono diversi editor come Notepad ++ , TextPad , ecc che facilmente aiutare a fare questo.

Non è necessario aprire i file. Basta specificare un percorso in cui sono memorizzati i file e la maschera (* .html) e il contenuto per la ricerca per "©" e l'editor tornerà con una lista di partite e quando si fa doppio clic, si apre il file e ti porta la linea corrispondente.

Ho anche un sito web che ha bisogno di convertire regolarmente un gran numero di nomi di file avanti e indietro tra i set di caratteri. Mentre un editor di testo in grado di fare questo, una soluzione portatile utilizzando 2 passi in php è preferibile. In primo luogo, aggiungere i nomi di file a un array, quindi effettuare la ricerca e sostituzione. Un ulteriore pezzo di codice nella funzione esclude determinati tipi di file dalla matrice.

Function listdir($start_dir='.') {                                                           
  $nonFilesArray=array('index.php','index.html','help.html'); //unallowed files & subfolders 
  $filesArray = array() ; // $filesArray holds new records and $full[$j] holds names         
  if (is_dir($start_dir)) {                                                                  
    $fh = opendir($start_dir);                                                               
    while (($tmpFile = readdir($fh)) !== false) { // get each filename without its path      
      if (strcmp($tmpFile, '.')==0 || strcmp($tmpFile, '..')==0) continue; // skip . & ..    
      $filepath = $start_dir . '/' . $tmpFile; // name the relative path/to/file             
      if (is_dir($filepath)) // if path/to/file is a folder, recurse into it                 
        $filesArray = array_merge($filesArray, listdir($filepath));                          
      else // add $filepath to the end of the array                                          

      $test=1 ; foreach ($nonFilesArray as $nonfile) {                                       
        if ($tmpFile == $nonfile) { $test=0 ; break ; } }                                    
      if ( is_dir($filepath) ) { $test=0 ; }                                                 
      if ($test==1 && pathinfo($tmpFile, PATHINFO_EXTENSION)=='html') {                      
        $filepath = substr_replace($filepath, '', 0, 17) ; // strip initial part of $filepath
        $filesArray[] = $filepath ; }                                                        
    }                                                                                        
    closedir($fh);                                                                           
  } else { $filesArray = false; } # no such folder                                           
  return $filesArray ;                                                                       
}                                                                                            

$filesArray = listdir($targetdir); // call the function for this directory                   
$numNewFiles = count($filesArray) ; // get number of records                                 

for ($i=0; $i<$numNewFiles; $i++) { // read the filenames and replace unwanted characters    
  $tmplnk = $linkpath .$filesArray[$i] ;                                                     
  $outname = basename($filesArray[$i],".html") ; $outname = str_replace('-', ' ', $outname); 
}                                                                                            
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top