|
| Дата |
|
USD/RUB | 90.4082 | BTC/USD | 69573.6964 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
19.04.2017, 19:19
|
#1
|
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).
Спасибо большое за любую помощь.
|
|
|
19.04.2017, 19:40
|
#2
|
сыроед
Регистрация: 01.10.2015
Сообщений: 15,873
Бабло: $1862475
|
это к диггу
|
|
|
19.04.2017, 19:52
|
#3
|
Senior Member
Регистрация: 16.07.2016
Сообщений: 151
Бабло: $22525
|
А на каком языке написан скрипт?
Если я правильно понял задание, то что-то подобное написать не сложно где-то за пол часа.
__________________
BrowserAutomationStudio Создаем многопоточные приложения бесплатно и без навыков программирования.
|
|
|
23.04.2017, 23:39
|
#4
|
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.
|
|
|
24.04.2017, 00:35
|
#5
|
Любитель шмелей
Регистрация: 22.02.2008
Адрес: Сыктывкар
Сообщений: 6,523
Бабло: $1273734
|
number4, а ты проверяешь работоспособность скриптов перед тем как выкладывать? У тебя там походу опечатка в названии переменной $hmtl=file_get_contents($file);
|
|
|
25.04.2017, 19:14
|
#6
|
Member
Регистрация: 14.06.2015
Сообщений: 84
Бабло: $17870
ТС -->
|
ТС
number4, очень большое спасибо=)
сейчас протестирую, опечатку исправлю)
|
|
|
25.04.2017, 20:33
|
#7
|
Senior Member
Регистрация: 31.03.2011
Сообщений: 3,360
Бабло: $669045
|
Цитата:
Сообщение от lebaol
мне кажется 4,12 КБ - это слишком много для того, что нужно, в принципе.
|
не больше 2,0 КБ должно быть
|
|
|
25.04.2017, 20:43
|
#8
|
Member
Регистрация: 29.08.2009
Сообщений: 88
Бабло: $38852
|
лям страниц? по-моему легче и быстрее на баше сделать
|
|
|
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й строчки может и супер-сервер загнуться
а так то пхп любую задачу выполнит
|
|
|
|