IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Cr убрать из хтмл файла (http://www.imho.ws/showthread.php?t=36631)

Moto 14.08.2003 15:31

Cr убрать из хтмл файла
 
Народ кто-нибудь знает как из *.html убрать символ <CR>, т.е. возврат коретки, т.е. чтоб в файле все было в одну строчку??? Может кто где прогу такую встречал??? А то рчками так ломает :( В яндехе искал, результат - 0.

RaZEr 14.08.2003 15:33

Простой скрипт это может сделать, но вообще непонятно зачем убирать ...

sanchos 15.08.2003 09:19

Можно пхп-скриптом сразу выдавать... У пользователя будет без <CR>, а на сервере нет. И код нормально потом посмотреть можно :)
Или тебе именно прога нужна?

Moto 15.08.2003 10:13

А по подробней можно, как это php скриптом убирать??? Я в php - 0, да и прога бы не помешала. Кстати про скрипт даже лучше, объясни по подробнее, плз..
Нужно мне это для, того, чтобы сократить размер хтмл файла, просо когда страничку делаешь, делаешь красиво и понятно, струтурированно вот и разростается, а теперь уже и не надо заливаю, а файйл большой.

sanchos 15.08.2003 10:31

Значит так... работать это будет след образом:
создаешь ф коревом каталоге файл ".htaccess", в нем пишешь:
DirectoryIndex index.php
Потом создаешь сам файл "index.php", в нем пишешь:
PHP код:

<?
// если параметр пусто, то - index
if(empty($page)) $page "index";
ob_start();
// читаем нужный файл
include($page ".html");
// убираем \r\n, т.е. возврат коретки
$data spliti("
"
ob_get_contents());
ob_end_clean();
// выводим инфу и заодно подчищаем пробелы впереди и в конце строки, если такие есть
for($str_count 0$str_count count($data); $str_count++) echo trim($data[$str_count]) . " ";
?>

Работать это будет так:
даешь ссылку на index.php?page=about , а он тебе выдает подчищенный about.html. Даешь на index.php?page=blabla , он выдает blabla.html
Вот что за минутку написал. Если что-то непонятно, то говори... Или просто, если нужно что-то еще ;)

Moto 15.08.2003 14:38

sanchos
Крутатень, все работает, спсибо ОООГГГРОМММНОЕ :) а то жить не давало :) А на файл .htaccess какие нибудь особые права доступа надо ставить???
Еще раз биг САНКС!!!

sanchos 15.08.2003 16:52

Moto
Рад, что помог тебе :)

Я тут подумал, что это будет работать только если твои хтмл-файлы будут находиться в корневом каталоге. Если они будут находиться и глубже, то пиши так:
PHP код:

<?
// если параметр пусто, то - index
if(empty($page)) $page "index";
// если параметр не пуст, то добавляем слэш
if(!empty($cat)) $cat .= "/";
else 
$cat="";
ob_start();
// читаем нужный файл
include($cat $page ".html");
// убираем \r\n, т.е. возврат коретки
$data spliti("
"
ob_get_contents());
ob_end_clean();
// выводим инфу и заодно подчищаем пробелы впереди и в конце строки, если такие есть
for($str_count 0$str_count count($data); $str_count++) echo trim($data[$str_count]) . " ";
?>

А вот как в результате будут работать ссылки:
"index.php" == "index.html"
"index.php?page=about" == "about.html"
"index.php?cat=about&page=news" == "about/news.html"
"imdex.php?cat=contact" == "contact/index.html"
И еще! Все пути к файлам, изображениям, надо указывать относительно корневой директории, т.е., к примеру, к картинке "img.gif" в файле "index.html" и "about/index.html" надо указывать один и тот же путь.
Вроде все сказал, что хотел. Если еще что-то - говори. Если смогу, то помогу.
Удачи! :)

RaZEr 15.08.2003 17:19

Код:

<?
ob_start();
include (!empty($content) && preg_match('/^[\w\/]{1,255}$/',$content) && file_exists($content.'.inc'))?$content.'.inc':'default.inc';
echo preg_replace('/[\r\n]+/','',ob_get_contents());
ob_end_clean();
?>

page.php?content=something -> something.inc
page.php?content=something/sub/sub -> something/sub/sub.inc
...

sanchos 15.08.2003 17:30

ну молодец.
только page.php?content=something/sub/sub смотиртся, имхо, не очень

Добавлено через 1 минуту:
Тогда может еще и mod_rewrite ему скажешь как прикрутить?

RaZEr 15.08.2003 17:38

Поиск пусть юзает ... говорили уже.

sanchos 17.08.2003 11:30

А самому лень?

RaZEr 17.08.2003 14:38

Найди ...

Moto 18.08.2003 07:33

Спасибо еще раз за помощь и где этому учатся? Надо книгу по перлу приобресть да????

sanchos 18.08.2003 09:39

Moto
Это не перл, а php :)

Moto 18.08.2003 12:16

sanchos
Еще тогда такой вопрос по скриптам. У меня есть страница html (index.html) в ней в одной таблице стоят 4 разные цифры (например х1,х2,х3,х4), как нужно написать скрипт, чтобы я вводил, например: х1=15, х2=23, х3=33, х4=4 (эти цифры я буду менять каждый день) и у меня обновлялась страница index.html и была уже с новыми значениями, спасибо заранее :)

sanchos 18.08.2003 12:32

Сделать несложно. Объясни поподробнее :)
Слушай, а почему просто не обновлять каждый раз index.html? :)

Moto 18.08.2003 13:42

Файл достаточно большой, т.е. в нем каждый

Добавлено через 5 минут:
Файл достаточно большой, т.е. в нем каждый день ковыряться, потом заливать, а если я заболею то кому-то еще и объяснять где и как ковыряться, а так зашел например на страницу zamen.php поменял там значения и в файле они изменяются.
Пытаюсь объяснить поподробнее. Есть страница index.html в ней есть некоторые таблицы. В одной из них есть четыре числа, этим числам мне необходимо присвоить переменные (например х1,х2,х3,х4). Есть скрипт zamen.php я запускаю его у меня появляется страница с формой для ввода х1=,х2=,х3=,хч= Я ставлю новые значения, нажимаю ОК. На странице index.html значения переменных х1,х2,х3,х4 меняются на только что введенные :)
Надеюсь сейчас доступно объяснил, если что могу еще раз попытаться :)

RaZEr 18.08.2003 15:34

Почитай:

http://design-planet.narod.ru/language/php/
http://btcrew.nm.ru/Texts/Vvphp_5.htm
http://vano-2002.hotbox.ru/web-masters/begin_php.html
http://proge.eserver.ru/mail/phpinfo2.html
http://linux.opennet.ru/docs/RUS/php_intro/index.html
http://spslug.sposad.ru/doc/phpintro.html
http://www.webscript.ru/stories/01/05/31/4704330
http://www.php4all.ru/doc/all/whatisphp.htm

... всего мы тебе, все равно не объясним.

sanchos 18.08.2003 15:40

Значит так...
создаешь файл ".htaccess"... если есть, то просто добавляешь строки:
Код:

RemoveHandler .html .htm
AddType application/x-httpd-php .php .html

Дальше создаешь файл "zamena.php". В нем пишешь:
PHP код:

<CENTER>
<?
if(empty($action) || $action != "replace"){
?>
<FORM method="post" action="zamen.php?action=replace">
<TABLE border=0 cellpadding=5 cellspacing=0>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X1 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x1" size=10></TD>
 </TR>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X2 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x2" size=10></TD>
 </TR>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X3 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x3" size=10></TD>
 </TR>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X4 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x4" size=10></TD>
 </TR>
 <TR>
  <TD colspan=2 align="Right" valign="Bottom"><BR><INPUT type="submit" value=" Сохранить "></TD>
 </TR>
</TABLE>
</FORM>
<?
   
}
else{
    
$stream fopen("data_x.txt""w");
    
fwrite($stream"$x1\n$x2\n$x3\n$x4");
    
fclose($stream);
    echo 
"Записано!";
    }
?>

Дальше в файле "index.html" прописываешь в верху строчким (можно в самом верху):
PHP код:

<?
$data_x 
= (file("data_x.txt"));
?>

Теперь осталось дело за выводом:
В файле "index.php" на позициях, где должны быть значения переменных пишешь:
PHP код:

<?
// значение x1. Нумерация начинается с нуля.
echo $data_x[0];
?>

Понятно? Работает? :)

Moto 19.08.2003 07:22

sanchos
Все сделал как ты написал, только не понял, что за файл такой index.php и по этому я вставил строки:
<?
// значение x1. Нумерация начинается с нуля.
echo $data_x[0];
?>
в файле index.html там где должны изменяться значения, поменяв только &data_x[0] на [0], [1], [2], [3]
Запускаю zamena.php загружается форма с вводом х-ов, я их ввожу, нажимаю на кнопку и дальше браузер пишет не возможно найти страницу, ссылка получается следующая:
zamen.php?action=replace

вот :(

Добавлено через 30 минут:
еще не совсем понятно, что за файл такой data.txt???
и еще в zamena.php вот в этом коде:
else{
$stream = fopen("data_x.txt", "w");
fwrite($stream, "$x1\n$x2\n$x3\n$x4");
fclose($stream);
echo "Записано!";
}
может \n$x1, а не просто $x1???

Добавлено через 7 минут:
Чето, я туп как не знамо кто :( не могу въехать и все :( То, что ты мне писал это работает по такому алгоритму???? ---
После того, как я нажимаю кнопку в zamena.php, открывается файл index.html в нем ищутся data_x[0]...[3] и заменяются значения этих переменных.... :( :( :(
Похоже не так, а как - не догоняю :(

sanchos 19.08.2003 09:11

Moto
1. Перепутал :) Это надо вставить в index.html на то место, где будут выводиться значения.
<?
echo $data_x[0];
?>
2. Файл zamena.php переименуй в zamen.php. Опять я немного попутал :(
3. Файл deta_x.txt - тот файл, в котором хранятся значения иксов. Он считывает из него, а потом выводит. Новые значения из скрипта zamen.php пишет тудаже.
4. "может \n$x1, а не просто $x1???"
- нет, именно так :) Просто знак "\n" - это именно твой <CR>
5. Действует это так... Запускаешь скрипт zamen.php, вводишь значения иксов. Потом этот же скрипт пишет в файл data_x.txt новые значения. А при открытии index.html, значения считываются из файла data_x.txt и выводятся :) Вот и все.

Ну теперь работает или еще повторить? :)

Moto 19.08.2003 09:54

sanchos
Опять ничего не вышло :( Значит файл data_x.txt, я не создавал. Запускаю zamen.php, выставляю значения, нажимаю Replace, пишется, что записано, но файла data_x.txt не появляется и в хтмл никаких данных тоже....
Создал я файл data_x.txt, но пустой, та же фигня ничего в хтмле не меняется ровно как и в самом файле, может в этот файл чего-то ручками треба написать???

Добавлено через 6 минут:
Если я в файле data_x.txt ручками пишу цифры через enter, то эти цифры появляются там где надо. Но zamen.php в этом файле ничего не изменяет ((((

sanchos 19.08.2003 10:17

В zamen.php пишешь:
PHP код:

<CENTER>
<?
if(empty($action) || $action != "replace"){
?>
<FORM method="post" action="zamen.php?action=replace">
<TABLE border=0 cellpadding=5 cellspacing=0>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X1 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x1" size=10></TD>
 </TR>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X2 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x2" size=10></TD>
 </TR>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X3 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x3" size=10></TD>
 </TR>
 <TR>
  <TD align="Right" valign="Bottom"><BR><SMALL>X4 :</TD>
  <TD valign="Bottom"><INPUT type="text" name="x4" size=10></TD>
 </TR>
 <TR>
  <TD colspan=2 align="Right" valign="Bottom"><BR><INPUT type="submit" value=" Сохранить "></TD>
 </TR>
</TABLE>
</FORM>
<?
   
}
else{
    
$stream fopen("data_x.txt""w"); // это файл, в который писать
    
fwrite($stream"$x1\n$x2\n$x3\n$x4");
    
fclose($stream);
    echo 
"Записано!";
    }
?>

Должно все работать. Может просто у тебя с путями какая бодяга...
Что говорит после того, когда ты нажимаешь "записать"?

Добавлено через 20 минут:
если проблемы, то могу объяснить в аське...

makkintosh 19.08.2003 10:30

Прога: Anetto HTML optimize

Добавлено через 1 минуту:
позволяет не только убирать символы ср но и вытворять моного других вещей которые обычно называют рутиной

sanchos 19.08.2003 10:34

makkintosh
Мы уже разобрались ;) Скрипт выдает только пользователю "оптимизированную" версия страницы. Код на сервере не трогает.

Moto 19.08.2003 10:49

sanchos ну такой файл zamen.php у меня и был, все равно он ничего не меняет в data_x.txt, а файлы zamen.php, data_x.txt, .htaccess, index.html лежат в одной директории :(
Отправь мне на мыло свой номер аськи, или сюда в ПМ, просто мне сейчас надо отлучится на часок, когда приду постучусь...

Добавлено в ту же минуту:
makkintosh
спасибо за подсказку

Добавлено через 7 минут:
sanchos
Еще объясни пожалуста в файле zamen.php смысл if{} и else{}, в елсе вроде как раз и идет запись в файл тхт, а вот что делается в ифе???

sanchos 19.08.2003 10:59

ладно, а аське все объясню :)

Moto 19.08.2003 13:15

sanchos
ты крут, просто ГИПЕР БИГ сенкс тебе, будешь у нас в Уфе, пиши, с меня много ПИИИИВА !!!! :) :) :) :yees: :yees: :yees:

apoc 21.08.2003 14:51

Moto
Гы... :) Это все зависит от того где ты будешь писать... :)
Вообщем Html у тебя не динамический, тобто тебе в таком случае, надо чем-то типа:
Цитата:

RaZEr:
page.php?content=something -> something.inc
page.php?content=something/sub/sub -> something/sub/sub.inc
И уже скриптом "распарсивать" твой Html, только теперь он будет Template-ом называться.... :) Ну прям как простоквашино... :)

RaZEr 21.08.2003 18:35

Что ты имеешь ввиду ?


Часовой пояс GMT +4, время: 21:56.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.