Jump to content

Mostom

Newbie
  • Posts

    27
  • Joined

  • Last visited

Mostom's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Функция, возвращающая расширение файла (параметр - имя файла) function return_ext($filename){ return strtolower(array_pop(explode(".", $filename))); } Чтобы не было проблем с русскими буквами, нужно обрабатывать имена файлов, например транслитеровать, а символы "_" заменять чем-нибудь другим... Функция транслитерации: function transliterator($totrans){ $transliterator=Array("а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "?" => "e", "ж" => "j", "з" => "z", "и" => "i", "й" => "i", "к" => "k", "л" => "l", "м" => "m", "н" => "n", "о" => "o", "п" => "p", "р" => "r", "с" => "s", "т" => "t", "у" => "u", "ф" => "f", "х" => "h", "ц" => "c", "ч" => "ch", "ш" => "sh", "щ" => "sch", "ъ" => "", "ы" => "y", "ь" => "", "э" => "e", "ю" => "yu", "я" => "ya", "А" => "a", "Б" => "b", "В" => "v", "Г" => "g", "Д" => "d", "Е" => "e", "?" => "e", "Ж" => "j", "З" => "z", "И" => "i", "Й" => "i", "К" => "k", "Л" => "l", "М" => "m", "Н" => "n", "О" => "o", "П" => "p", "Р" => "r", "С" => "s", "Т" => "t", "У" => "u", "Ф" => "f", "Х" => "h", "Ц" => "c", "Ч" => "ch", "Ш" => "sh", "Щ" => "sch", "Ъ" => "", "Ы" => "y", "Ь" => "", "Э" => "e", "Ю" => "yu", "Я" => "ya", " " => "-" "_" => "-" ); return strtr($totrans, $transliterator); }
  2. Мнфсруыдфм Делайте, как вам удобнее. Советую посмтреть исходники phpBB, IPB, vBulletin - как это реалзиовано там. Над ними ведь тоже не дураки работают, и если они сделали так или иначе, то на это, наверное, нашилсь свои причины...
  3. Хе, ну вот вам еще один вариант. В отдельном поле храните последовательность BB-тегов для каждого сообщения форума. Сами комменты франите в HTML, как положено, с обычными . Далее, когда будете HTML преобразовывать назад в BB-код, то заменяете каждый HTML-тег соответсвующим BB-тегом из сохраненной последовательности. Пример: Это жирный шрифт, а это подчеркнутый В BB-тегах: Это |b|жирный шрифт|/b|, а это |u|подчеркнутый|/u| В базе в HTML-тегах: Это жирный шрифт, а это подчеркнутый Поле с последовательностью BB-тегов: |b|,|/b|,|u|,|/u| Подобный метод займет гораздо меньше места в базе, чем хранение сообщений в двух экземплярах. Чтобы извлечь BB-теги из сообщения во время его отправки, достаточно один раз пройтись по строке - сложность алгоритма - линейная. При преобразовании из HTML в BB, BB-теги можно получить, допустим, так: $bbtags = explode(',', $bbsequence); Подумайте над этим..
  4. Я бы посоветовал вам такое решение. Выражение, например |u| подчеркнутый текст |/u| хранить в базе в виде подчеркнутый текст class="underlined"> В общем, в закрывающем теге прописать - к чему он относится. Варианты: underlined> u> Я проверял - работает. Плюсы: не нужно хранить два формата не нужно использовать regexp - можно обойтись и str_replace Минусы: противоречие спецификации (я думаю)..
  5. Mostom

    include()

    Честно говоря, Evgeny, я не понял ничего из того кода, что вы написали. Однако по поводу шаблонизатора я с Вами согласен - я вовсе не настаиваю на своем варианте.
  6. Mostom

    include()

    2 Scrum Спасибо... я не проверял то, что писал, т.к. смысл был - показать принцип. 2 Gorik А, ну смотрите тогда. Если все страницы посторены по одному принципу, то делаете следующее: В файле functions.php пишите: <?php function Heading($pagename,$pagedescription,$pagekeywords){ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'; echo '<html>'; echo '<head>'; echo '<link rel=stylesheet type=text/css href=style.css>'; echo '<title>Сайт такой-то - '.$pagename.'</title>'; echo '<meta http-equiv=Content-Type content="text/html; charset=windows-1251">'; echo '<meta http-equiv=Description content=".$pagedescription.">'; echo '<meta http-equiv=Keywords content=".$pagekeywords.">'; echo '</head>'; echo '<body>'; // И далее размещаете шапку сайта - заголовок, и т.п. } function Menu(){ echo '<a href=index.php>Вернуться на главную</a>'; // ссылки, оформленные так же, как у вас в меню } function Footing(){ // низ страницы echo '</body></html>'; } ?> Далее, типичная страница будет выглядеть следующим образом: <?php require_once('functions.php'); Heading('Главная','Главная страница моего сайта','главная, ключевые, слова'); Menu(); ?> Тут непосредсвтенно содержимое страницы.. <?php footing(); ?> Примерно так. Смысл в том, что после подключения всех этих функция, в бразуере получается цельная страница, которую мы составляем по кусочкам.. Мне кажется - это самый простой вариант, хотя у него масса недостатков. Однако по простоте он идеален, подобный "движок" можно написать даже на JavaScript..
  7. Mostom

    include()

    Хороший метод...
  8. А у меня htmlbook
  9. Mostom

    include()

    Складывается ощущение, что товарищу Gorik кто-то на другом форуме подсказал, как организовать работу сайта, и теперь он пришел сюда за разъяснениями.
  10. Mostom

    include()

    Почему бы и нет? Честно говоря, смутно понимаю, для чего нужен код, который описал Gorik.. Файл switch.php <?php switch($id){ case 1: include_once('имя файла'); default: include_once('main.php'); } ?> и потом в самой стрнице: <? $id = $_GET["id]; ?> потом все ссылки меню прописываете <a href="index.php?id=1">пункт1</a> и наконец - таблица отвечающая за основную часть главной страницы: <table><tr><td> <?php require_once(switch.php); ?> </td></tr></table> Не проверял, но должно работать.. Вообще я бы сделал даже так: functions.php function toswitch($id){ switch($id){ case 1: return 'имя_файла'; default: return 'main.php'; } } И потом непосредственно на странице делать так: <? require('functions.php'); ?> потом все ссылки меню прописываете <a href="index.php?id=1">пункт1</a> и наконец - таблица отвечающая за основную часть главной страницы: <table><tr><td> <?php include_once(toswitch($_GET['id'])); ?> </td></tr></table> Мне кажется, что так изящнее, хотя это дело вкуса.
  11. Mostom

    include()

    Лучше отдельно, а потом подключать файл co switch (require()). Так если вдруг switch придется изменять, не нужно будет редактировать все страницы.
  12. Mostom

    include()

    Ну например так: head.php: <?php echo '<html>'; echo '<head><title>Page</title></head>'; echo '<body>'; ?> foot.php <?php echo '</body>'; echo '</html>'; ?> index.php <?php include('head.php'); echo('Содержимое страницы'); include('foot.php'); ?>
  13. И вы нам тут голову морочили?? Больше никогда так не делайте!
  14. Вы хотите сказать, что сначала просто страницу открывали? А потом решили через браузер набрать http://localhost/...
  15. Не знаю, как у Вас, но у меня нет столько времени, чтобы настраивать Apache и PHP. К тому же я не располагаю таким интернетом, чтобы скачивать вс? это поотдельности. Денвер гораздо удобнее, и весит мало, а если ручки не оттуда растут (как у меня), то Денвер - лучший друг программиста.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy