Скрипт замены/удаления - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.2486
BTC/USD68807.9396
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 13.12.2017, 14:58   #1
lebaol
Member
 
Регистрация: 14.06.2015
Сообщений: 84
Бабло: $17870
Question Скрипт замены/удаления

есть много страниц в папке (больше ляма)
там вставлен код disqus:
Код:
					<div id="disqus_thread"></div>
				         <script>
					(function() { // DON'T EDIT BELOW THIS LINE
					var d = document, s = d.createElement('script');
					s.src = '//mylogin.disqus.com/embed.js';
					s.setAttribute('data-timestamp', +new Date());
					(d.head || d.body).appendChild(s);
					})();
					     </script>
				<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
как можна удалить?

тот скрипт, который у меня есть - он сначала подгружает все файлы с папки, но ему не хватает памяти или чего-то еще.

спасибо большое
lebaol вне форума  
Старый 13.12.2017, 16:46   #2
Ruby
Senior Member
 
Аватар для Ruby
 
Регистрация: 18.09.2014
Сообщений: 126
Бабло: $20265
По умолчанию

PowerGrep-ом можно пройтись и все повыпиливать.
Ruby вне форума  
Старый 13.12.2017, 18:24   #3
Creolabs
Tomorrow
 
Аватар для Creolabs
 
Регистрация: 22.01.2013
Адрес: Баден-Баден
Сообщений: 1,451
Бабло: $236030
По умолчанию

Text replacer, если все на диске
http://tr.infortech.ru/
__________________

Creolabs вне форума  
Старый 13.12.2017, 19:20   #4
lebaol
Member
 
Регистрация: 14.06.2015
Сообщений: 84
Бабло: $17870
ТС -->
автор темы ТС По умолчанию

спасибо, а на пхп? =)
lebaol вне форума  
Старый 13.12.2017, 20:05   #5
incognito
Senior Member
 
Аватар для incognito
 
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
По умолчанию

держи
PHP код:
<?php
set_time_limit
(0);

$startData '<div id="disqus_thread">';
$endData 'Disqus.</a></noscript>';

$inDir '_in';     //директория где лежат исходники
$resDir '_out';   //результат (создать каталог перед запуском)

foreach (glob($inDir.'/*.html') as $file) {     // файлы вида "file.html" 
    
$data file_get_contents($file);
    
$startPos strpos($data,$startData);
    
$endPos strpos($data,$endData,$startPos) + strlen($endData); // тут +1 или -1 может быть
    
if($startPos!==false and $endPos!==false){
        
$data str_replace(
            
substr($data,$startPos,$endPos-$startPos)
            
'',
            
$data
        
);
        
file_put_contents(str_replace($inDir,$resDir,$file),$data);
    }
}
__________________
incognito вне форума  
Старый 13.12.2017, 20:26   #6
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,118
Бабло: $337995
По умолчанию

PHP код:
#!/usr/bin/env python 
# coding: utf-8 

import os 
import base64 

start_dir 
'/folder/with/files'

code_search base64.b64decode('LXtudW19')
code_replace base64.b64decode('')

for 
rootdirsfiles in os.walk(start_dir): 
    for 
file_name in files
        
file_name_path os.path.join(rootfile_name
        
with open(file_name_path) as f
            
content f.read() 
            if 
code_search in content
                
new_content content.replace(code_searchcode_replace
                
with open(file_name_path'w') as f2
                    
f2.write(new_content
1. Берешь код disqus со всеми пробелами и переносами строк и заворачиваешь в base64 (https://www.base64encode.org/)
2. Полученную строку добавляешь в переменную code_search
3. В переменной start_dir прописываешь путь к папке с файлами.
4. Запускать python run.py
Grut вне форума  
Старый 13.12.2017, 20:31   #7
lebaol
Member
 
Регистрация: 14.06.2015
Сообщений: 84
Бабло: $17870
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от incognito Посмотреть сообщение
держи
PHP код:
<?php
set_time_limit
(0);

$startData '<div id="disqus_thread">';
$endData 'Disqus.</a></noscript>';

$inDir '_in';     //директория где лежат исходники
$resDir '_out';   //результат (создать каталог перед запуском)

foreach (glob($inDir.'/*.html') as $file) {     // файлы вида "file.html" 
    
$data file_get_contents($file);
    
$startPos strpos($data,$startData);
    
$endPos strpos($data,$endData,$startPos) + strlen($endData); // тут +1 или -1 может быть
    
if($startPos!==false and $endPos!==false){
        
$data str_replace(
            
substr($data,$startPos,$endPos-$startPos)
            
'',
            
$data
        
);
        
file_put_contents(str_replace($inDir,$resDir,$file),$data);
    }
}
снова спасибо большое =)

PHP Parse error: syntax error, unexpected '''' (T_CONSTANT_ENCAPSED_STRING) in index.php on line 17
lebaol вне форума  
Старый 13.12.2017, 20:51   #8
incognito
Senior Member
 
Аватар для incognito
 
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
По умолчанию

PHP код:
 <?php
set_time_limit
(0);

$startData '<div id="disqus_thread">';
$endData 'Disqus.</a></noscript>';

$inDir '_in';     //директория где лежат исходники
$resDir '_out';   //результат (создать каталог перед запуском)

foreach (glob($inDir.'/*.html') as $file) {     // файлы вида "file.html" 
    
$data file_get_contents($file);
    
$startPos strpos($data,$startData);
    
$endPos strpos($data,$endData,$startPos) + strlen($endData); // тут +1 или -1 может быть
    
if($startPos!==false and $endPos!==false){
        
$data str_replace(
            
substr($data,$startPos,$endPos-$startPos),
            
'',
            
$data
        
);
        
file_put_contents(str_replace($inDir,$resDir,$file),$data);
    }
}
запятую потерял, но сам не тестил
__________________
incognito вне форума  
Старый 13.12.2017, 21:08   #9
lebaol
Member
 
Регистрация: 14.06.2015
Сообщений: 84
Бабло: $17870
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от incognito Посмотреть сообщение
PHP код:
 <?php
set_time_limit
(0);

$startData '<div id="disqus_thread">';
$endData 'Disqus.</a></noscript>';

$inDir '_in';     //директория где лежат исходники
$resDir '_out';   //результат (создать каталог перед запуском)

foreach (glob($inDir.'/*.html') as $file) {     // файлы вида "file.html" 
    
$data file_get_contents($file);
    
$startPos strpos($data,$startData);
    
$endPos strpos($data,$endData,$startPos) + strlen($endData); // тут +1 или -1 может быть
    
if($startPos!==false and $endPos!==false){
        
$data str_replace(
            
substr($data,$startPos,$endPos-$startPos),
            
'',
            
$data
        
);
        
file_put_contents(str_replace($inDir,$resDir,$file),$data);
    }
}
запятую потерял, но сам не тестил
спасибо большое, работает =)
lebaol вне форума  
Старый 14.12.2017, 01:52   #10
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

Чем мне нравятся эти скрипты что никто не обрабатывает ошибки чтения и записи.

А ещё все это можно в консоли
https://stackoverflow.com/questions/...ep-and-replace
Hector вне форума