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

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

Закрытая тема
Опции темы Опции просмотра
Старый 19.04.2017, 19:19   #1
lebaol
Member
 
Регистрация: 14.06.2015
Сообщений: 84
Бабло: $17870
По умолчанию Скрипт замены

у меня есть нужный скрипт размером 4,12 КБ, правда с админкой, но там нету вывода в таком формате, как нужно, да и нужной замены нету плюс писался где-то 12 лет назад.
связи с программистом, который писал - нету.

мне кажется 4,12 КБ - это слишком много для того, что нужно, в принципе.

а что нужно:

есть больше ляма .html файлов.
внутри есть уникальный кусок кода, например, <div class="unique">
дальше идет текст, код, скрипты (может быть просто пробел или новая строчка, что угодно)
дальше идет первый (их может быть много на странице, но нужен первый после уникального куска кода) </div>

нужно взять и заменить
<div class="unique"><h1> - это не менять
A
N
Y
T
H
I
N
G
can be here and anywhere</h1></div> - это не менять (only </div>)

на 10 рэндомных строчек с links.txt (больше ляма строк там):
<a href="http://link.com/1.html">first link</a><br>
<a href="http://link.com/2.html">second link</a><br>
<a href="http://link.com/3.html">third link</a><br>
...

и записать результаты в два тхт, в каких хтмл файлах произошла замена (good.txt), а в каких не получилось (bad.txt).

Спасибо большое за любую помощь.
lebaol вне форума  
Старый 19.04.2017, 19:40   #2
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,873
Бабло: $1862475
По умолчанию

это к диггу
веломан вне форума  
Старый 19.04.2017, 19:52   #3
twaego9
Senior Member
 
Регистрация: 16.07.2016
Сообщений: 151
Бабло: $22525
По умолчанию

А на каком языке написан скрипт?
Если я правильно понял задание, то что-то подобное написать не сложно где-то за пол часа.
__________________
BrowserAutomationStudio Создаем многопоточные приложения бесплатно и без навыков программирования.
twaego9 вне форума  
Старый 23.04.2017, 23:39   #4
number4
Senior Member
 
Регистрация: 23.04.2017
Адрес: Pattaya
Сообщений: 132
Бабло: $20600
По умолчанию

если понял правильно, то примерно будет так:

Код:
<?
$links=file("links.txt");
$count=count($links);
$z=array(
1=>fopen("good.txt","w"),
2=>fopen("bad.txt","w"),
);

$rnd='';
$c=0;

$dir=opendir("каталог, где файлы лежат") or die ("\ncant open dir\n");
while (($file=readdir($dir))!==false) {

  if($file== "."||$file== ".."||strpos($file,'.html)===false) continue;

 $hmtl=file_get_contents($file);

 if(!preg_match("/<div class=\"unique\"><h1>.{10,300}<\/h1><\/div>/Uis",$html)){
    fputs($z[2],"{$file}\n";
    continue;
 }


  if($html===false) {
     fputs($z[2],"{$file}\n";
     continue;
  }

  $a=array();
  $c=0;
  $rnd='';

  while($c<11){
    $n=mt_rand(0,$count);
    if(isset($a[$n])) continue;
    $a[$n]=1;
    $rnd.="<a href="http://link.com/{$n}/>".trim($links[$n])."</a>\n";
   $c++;
 }

$html=preg_replace("(<div class=\"unique\"><h1>.{10,300}<\/h1><\/div>)/Uis","<div class=\"unique\"><h1>{$rnd}</h1></div>",$hml);

$w=fopen($file,"w");
if(!$w) {
   fputs($z[2],"{$file}\n";
   continue;
}

fputs($w,$html);
fclose($w);
}

closedir($dir);
fclose($z[1]);
fclose($z[2]);
echo "\ndone\n";
?>

Последний раз редактировалось number4; 23.04.2017 в 23:46.
number4 вне форума  
Старый 24.04.2017, 00:35   #5
mr. werewolf
Любитель шмелей
 
Аватар для mr. werewolf
 
Регистрация: 22.02.2008
Адрес: Сыктывкар
Сообщений: 6,523
Бабло: $1273734
По умолчанию

number4, а ты проверяешь работоспособность скриптов перед тем как выкладывать? У тебя там походу опечатка в названии переменной $hmtl=file_get_contents($file);
mr. werewolf вне форума  
Старый 25.04.2017, 19:14   #6
lebaol
Member
 
Регистрация: 14.06.2015
Сообщений: 84
Бабло: $17870
ТС -->
автор темы ТС По умолчанию

number4, очень большое спасибо=)

сейчас протестирую, опечатку исправлю)
lebaol вне форума  
Старый 25.04.2017, 20:33   #7
Strikelol
Senior Member
 
Регистрация: 31.03.2011
Сообщений: 3,360
Бабло: $669045
По умолчанию

Цитата:
Сообщение от lebaol Посмотреть сообщение
мне кажется 4,12 КБ - это слишком много для того, что нужно, в принципе.
не больше 2,0 КБ должно быть
Strikelol вне форума  
Старый 25.04.2017, 20:43   #8
hitman
Member
 
Аватар для hitman
 
Регистрация: 29.08.2009
Сообщений: 88
Бабло: $38852
По умолчанию

лям страниц? по-моему легче и быстрее на баше сделать
hitman вне форума  
Старый 25.04.2017, 21:35   #9
Шариков
Ебланнед
 
Регистрация: 05.11.2016
Сообщений: 37
Бабло: $12160
По умолчанию

Цитата:
Сообщение от hitman Посмотреть сообщение
лям страниц? по-моему легче и быстрее на баше сделать
sed, perl и awk в помощь, плюс регулярки. php загнется на полпути при замене. От скрипта на perl тоже бы не отказался.
Шариков вне форума  
Старый 25.04.2017, 22:17   #10
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,873
Бабло: $1862475
По умолчанию

Цитата:
Сообщение от Шариков Посмотреть сообщение
php загнется на полпути при замене
чевоблять
ну у рукожопа от 1й строчки может и супер-сервер загнуться
а так то пхп любую задачу выполнит
веломан вне форума