Скрипт автозамены в html страничках - есть такой?

kartrid
На сайте с 19.09.2007
Offline
68
1055

Проблема в том, что на многих страницах, на многих сайтах нужно заменить url сайта на новый либо конкретный текст на гиперссылку.

Может кому-то встречался такой софт?

Например в папке лежит 100 html страничек в разных подпапках, запускаем скрипт и на выходе получаем все странички исправленные.

Играю в покер, мой Блог (http://www.blog-poker.ru)
aklimovv
На сайте с 18.01.2008
Offline
224
#1
G
На сайте с 02.03.2009
Offline
35
#2

удалено, сразу не понял, что обновление прямо на сервере делать нужно

WS
На сайте с 17.11.2010
Offline
25
#3
kartrid:
Например в папке лежит 100 html страничек в разных подпапках, запускаем скрипт и на выходе получаем все странички исправленные.

А выкачать все папку по фтп, изменить любым редактором и обратно не подойдет?

ИМХО, я бы не рисковал с горячей заменой на сервере, вдруг ошибетесь (или программа сглючит), а у вас нет архива (так как вы файлы не выкачивали)?

c12o16h1
На сайте с 01.09.2009
Offline
77
#4

Я делал через .htacces когда надо было сапу вставить на статичный сайт.

Моментальный вывод Webmoney в Украине (http://obmennik.ws/?r=id.4780)
[Удален]
#5

Скрипт предназначен для поиска и замены одной подстроки на другую

во всех файлах определенной директории на сервере

(включая файлы во всех вложенных поддиректориях)

Которые понимаюь - легко сделают вариант с регулярными выражениями для себя.

---------- sr.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";

?>

---------- sr.php - конец цитаты ---------

Скрипт от хренодёра,сайт не пашет источник http://web.archive.org/web/20061113025405/scripts.xrenoder.com/sr.txt

AH
На сайте с 04.08.2010
Offline
6
#6
kartrid:
Проблема в том, что на многих страницах, на многих сайтах нужно заменить url сайта на новый либо конкретный текст на гиперссылку.

Может кому-то встречался такой софт?

Например в папке лежит 100 html страничек в разных подпапках, запускаем скрипт и на выходе получаем все странички исправленные.

Такой есть. Платный. От http://www.powergrep.com/. Найдете наверняка и "бесплатные" варианты ранних версий - раньше они не шифровались - качай и ставь, только, кажется, работали только локально.

Однако будьте крайне внимательны, можно крепко напортачить. Сначала посмотрите что может получиться и только потом делайте.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий