- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
нужен скриптик, который бы делал следующее
Есть файл 1.html он должен его построчно просмотреть, и если строка начинвается с <h1> то в конце строки вставить </h1>
Это сложно сделать?
Сначала выдал ошибку
Parse error: syntax error, unexpected '}' in C:\Program Files\VertrigoServ\www\FC\replase\replase.php on line 19
Подправил в строке поставил ;
После этого выдает такую ошибку
Warning: Invalid argument supplied for foreach() in C:\Program Files\VertrigoServ\www\FC\replase\replase.php on line 12
Своял надосуге. Хотя возможно задача вами не точно поставлена и нужны доработки. Поэтому аккуратно проверяйте. Сохраняйте результат под новым названием, дабы свой труд не уничтожить ).
<?
$filename="index.html";
$filename_new="index_new.html";
$str="";
$arr_str=file($filename);
$cnt=count($arr_str);
for ($i=0; $i<$cnt; $i++){
$arr_str[$i]=rtrim($arr_str[$i]);//убираем перенос в конце
$str.=$arr_str[$i];
if (strstr($arr_str[$i], "<h1>")){
#в строке есть <h1>, только не проверяем, в начале ли строки этот <h1> :)
$str.="</h1>";//добавляем закрывающий тег. Только не проверяем, есть ли он уже.
}
#перенос добавим, чтобы файл не получился в одну строчку.
$str.="\r\n";
}
#пишем новые данные в файлу
file_put_contents($filename_new, $str);
echo "Файл <b>$filename_new</b> обновлён.";
?>
$filename='file.txt';
$fHandler=file($filename); //считываем в массив строк
$f1=fopen($filename,"w");
foreach($fHandler as $row=>$string)
{
if (substr($string,"<h1")==$string) // <h1 в начале строки
$string=str_replace("\n","</h1>\n",$string); //перед символом переноса втыкаем закрывающий
fwrite($f1,$string);
}
fclose($f1);
C этой проблемой разобрался.. теперь новая
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes) in C:\Program Files\VertrigoServ\www\FC\replase\replase.php on line 11
Какого размера файл?
Всем спасибо, разобрался с проблемой :)
По итогу взял такой скрипт
Все работает. А с размером были проблемы из за VertrigoServ, запустил под денвером все сразу ок стало
И всё-таки, если не секрет? Файл очень большой был?
WhiteFalke, ну тоже скриптик простой и сердитый. Просто </h1> будет на новой строчке оказываться. Хотя это уже мелочь.
Суну свои 5 копеек.
Вот так проще сделать, без циклов, без пыли, без шума :)
В одну строчку можете записать :)