2009-11-04 3 views
0

У меня есть связка html-файлов на сайте, которые были созданы в 2000 году и поддерживались по сей день. Недавно мы начали попытки заменить незаконных символов своими html-объектами. Переход страницы на страницу, где хранятся символы авторского права и товарные знаки, кажется довольно сложной задачей. Кто-нибудь из вас знает о приложении, которое возьмет кучу html-файлов и скажет мне, где мне нужно заменить незаконных символов объектами html?Лучший способ найти нелегальных символов в связке веб-страниц ISO-889-1?

ответ

0

Вы можете написать PHP-скрипт (если можете, а если нет, я был бы рад помочь), но я предполагаю, что вы уже преобразовали некоторые «специальные символы», так что это делает задачу немного сложнее (хотя я все еще думаю, что это возможно) ...

+0

** ИЗМЕНИТЬ **: Исправлено что-то непонятное;) – Franz

+0

Спасибо, что ответили; Да, я мог бы написать программу для решения этой проблемы, но у меня просто есть ощущение, что у кого-то еще есть. Одна мысль заключалась в том, что я должен просто отправить все файлы в утилиту w3.org validation и уловить все ошибки кодирования, но если решение уже существует, даже это означает, что слишком много кода. – wwilkins

0

Любой хороший текстовый редактор выполнит поиск содержимого файла и вернет список совпадений.

Я делаю это с EditPlus. Есть несколько редакторов, таких как Notepad++, TextPad и т. Д., Которые легко помогут вам в этом.

Нет необходимости открывать файлы. Вы просто указываете путь, в котором хранятся файлы, а также Mask (* .html) и содержимое для поиска «©», и редактор возвращается со списком совпадений, а при двойном щелчке открывается файл и приносит вверх по соответствующей строке.

+0

Это правда, но я хочу, чтобы это сделать, не открывая более 200 файлов. Спасибо, что ответили. – wwilkins

+0

@wwilkins: answer отредактировано –

0

У меня также есть веб-сайт, который должен регулярно конвертировать большое количество имен файлов взад и вперед между наборами символов. Хотя текстовый редактор может это сделать, предпочтительным является переносное решение, использующее 2 шага в php. Сначала добавьте имена файлов в массив, затем выполните поиск и замените. Дополнительная часть кода в функции исключает определенные типы файлов из массива.

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); 
}                        

 Смежные вопросы

  • Нет связанных вопросов^_^