PHP | |
---|---|
З.Ы а что кстати скажешь о функции "найти темы с последнего посещения" ? Нормульно, правильно работает или надо ещё что - то?!
| |
[quote=Dimarik]З.Ы а что кстати скажешь о функции "найти темы с последнего посещения" ? Нормульно, правильно работает или надо ещё что - то?! [/quote] Клёва, вроде работает, но надо ещё потестить подольше. (:
| |
bob я опять за советом, чего-то искал искал, но так и не смог найти ответ.
Пример: пример тескта ЗНАК_1 определение ЗНАК_2 продолжение текста Вопрос: как можно достать то что находится между ЗНАК_1 и ЗНАК_2, может есть какая-нить стандартная функция, так что бы в одну строку? и мне ещё надо учесть что в тексте ЗНАК_1 и ЗНАК_2 может встречатся не один раз, а N-е кол-во. Заранее Спасибо! | |
В одну строчку как я понимаю можно если:
а) знак_1 и знак_2 всегда одни и те же б) не должно быть неверной вложенности. типа <zn1>...<zn2>...</zn1>...<zn2> — такое я не знаю как грамотно обработать. в) строка, из которой надо вытаскивать "определения" не очень длинная. Если эти условия будут соблюдены, можно воспользоваться функцией preg_match $our_string - строка с текстом, который надо обработать $regular_expression - регулярное выражение $result - двумерный массив с результатом PREG_SET_ORDER говорит о том, что результат надо упорядочить непосредственно по порядку совпадения. Типа самое первое совпадение будет первымы элементами массива резульатов. <?php $our_string = '<zn>ddddd</zn> ffffff <zn>eeeee</zn>' $regular_expression = '|<zn> (.*?) </zn>|s'; preg_match_all ( $regular_expression, $our_string, $result, PREG_SET_ORDER); ?> Массив $result должен быть таким: $result[0][0] = dddd; $result[1][0] = eeee; Это я пример из книги под требуемую задачу переделал, так что в работоспособности мягко говоря не уверен (: | |
Блин, чё за нафиг...
Закрывающий <zn> надо написать на </zn> а экранировать слэш. Типа </ !"наоборотный слеш! zn> Не даёт мне форум правильно написать (: | |
И это... знак одинарная кавычка отображается не как одинарная кавычка, а как тот значок, что на кнопке с буквой "ё" (:
'' - найди 1 отличие (: | |
bob вот если получится вытаскивать текст из текста, то допишу функцию code и тогда всё будет норм, кроме одинарной ковычки... это надо будет переписать кусочек...
| |
пример твой рабочий, только я теперь не пойму как достать из регуляра сам текст. То что между знаков - понял - из массива, а как достать текст... в твоём примере он ffffff
| |
Ааа, ещё и текст надо... Хм...
Первое что приходит на ум — применить ту же самую функцию ещё раз, но вычленять куски не между <zn></zn>, а между </zn><zn>. Но тогда надо будет сделать пару дполонительных проверкок. И геморно потом будет сопоставлять 2 результата... Надо подумать, наверняка есть более элегантный саособ (: | |
продолжаем диолог...
bob, я вот тут думаю может отказаться от CSS и использовать стили немного подругому, например: создаём файл (оптимально даже таблицу в бд) где $style_bold = "<font color= size= face=''>"; or $style_bold = "style='бла бла бла'"; и подставлять в форму переменную. Зачем? ну я так думаю, что не будет проблемм с брузерами и везде будет отображаться одинаково (а то в ФФ есть какие-то траблы с CSS); шрифт будет маштабируемый; если это будет в БД, то можно будет всё легко поменять. Особенно если дать возможность юзеру выбирать внешний вид сайта, то проще будет работать с перемеными чем с файлами (хотя наверно одинаково). Вопрос, даже не вопрос, а просто интересно будет услышать твоё мнение по поводу целесообразности данной конструкции. | |
Хорошая мысль, только я бы не держал css в БД.
Пусть он "генерится" непосредственно в сценарии. Типа будет файл style.css .body { color: $user_body_color; background-color: $user_background_color; } который будет подключаться в сценарий примерно таким макаром: <html><head> <style> $sql = 'select * from user_profile'; $result = mysql_query($sql); for ($profile_data=array(); $row=mysql_fetch_array($result); $profile_data[]=$row); $user_body_color = $profile_data['user_body_color'] $user_background_color = $profile_data['user_background_color']; ... eval "style.css"; </style> </head> Т.е. в базе будут храниться только непосредственные значения параметров элементов. | |
но ты всё равно предлогаешь создавать файл style.css или я тебя не совсем понял... ты просто хочешь его самостоятельно генерить, а я вот думаю что вообще он нафиг не нужен, вообще отказаться от стилей в понятие CSS. А сделать свой собственный подход к этому делу.
Хотя твой вариант мя тоже устраивает, но так всё равно ФФ будет тупить при виде <link rel="stylesheet" href="style.css">, а точнее при виде .body { color: $user_body_color; background-color: $user_background_color; } . Хотя конечно если это баг, то он временный и в скором времени его заделают, а вот опять же шрифт будет не маштабируемый или как-то моно прописать в style.css размерность шрифта, что бы его потом моно было увеличить/уменьшить? [quote=bob]Т.е. в базе будут храниться только непосредственные значения параметров элементов. [/quote] ну это само собой, я так и собирался хранить только значения. Вобщем дело то такое и так и так вроде бы получатся свои плюсы и минусы... пока не сделаешь наверно не поймёшь. | |
В style.css конечно можно прописать "переменную" размерность шрифта.
font-size: 100%; В "Моём" варианте не будет <link rel="stylesheet" href="style.css">, список css-классов будет непосредственно в html-странице. | |
А почему вы хотите разметку инлайнами писать? Внешний CSS удобнее, ИМХО.
| |
2bob, думаю может сюда ты зайдёшь быстрее чем я тебя найду, вот книга по CSS, про которую мы говориле на миле http://www.ratclub.ru/cadora/css_book.rar , скачивай, там 26 метров, я потом скачаю у тебя, если ты не против =)
я бы на миле написал, но Кадору я уронил, а в жабе не знаю как часто ты бываешь. | |
Акей, поставил качать, но т. к. уже иду спать, выложу у себя только утром. (:
| |
http://192.168.11.56/pub/css_book.rar
У меня что-то заглючило: на рэтклабе лежал рар-архив, а на мой жёсткий диск осхранился почему-то зип-архив. Я долго не пог понять почему же он у меня не открывается — битый что-ли?.. (: | |
[quote=bob] http://192.168.11.56/pub/css_book.rar
У меня что-то заглючило: на рэтклабе лежал рар-архив, а на мой жёсткий диск осхранился почему-то зип-архив. Я долго не пог понять почему же он у меня не открывается — битый что-ли?.. (: [/quote] а чем качал? | |
глупый вопрос дилетанта:
пшп может перекрасить рисунок? язнаю как то можно формировать картинки из кусочков.. счетчики вроде так и делаются. а вот перекрасить например двухцветный гиф (черный и прозрачный цвета) в нужный цвет? т.е. черный заменить на необходимый это бы очень непомешало на новом хомяке =) звездочки в голосованиях чтобы красились в цвет темы.. и полосочки в голосованиях тож красить так можно было.. _ сори за ессвязную речь (: | |
[quote=Daredevil]глупый вопрос дилетанта:
пшп может перекрасить рисунок? язнаю как то можно формировать картинки из кусочков.. счетчики вроде так и делаются. а вот перекрасить например двухцветный гиф (черный и прозрачный цвета) в нужный цвет? т.е. черный заменить на необходимый это бы очень непомешало на новом хомяке =) звездочки в голосованиях чтобы красились в цвет темы.. и полосочки в голосованиях тож красить так можно было.. _ сори за ессвязную речь (: [/quote] невозможного нет. но для таких целей используется GDLib. Дима собирался постичь все тайны это либы. :-) И лучше бы ПЫНГ чем ГИФ. Пынг более родной для нее. А для этой задачи он тоже подходит. | |
можно? думаю что можно, я конечно ещё пока не знаю как это делается, но leksey верно сказал, я собирался познать тайны либы GD.
попробуем реализовать... | |
[quote=leksey]И лучше бы ПЫНГ чем ГИФ. Пынг более родной для нее. А для этой задачи он тоже подходит. [/quote]
ну я для примера сказал :) | |
gdlib может это легко. (:
В себя приду обязательно напишу код для этого. Там всего несколько строчек потребуется. А что гиф что пнг по-моему пофигу. Хоть на лету формат меняй. Берёшь "чёрный" гиф, перекрашиваешь его, скажем, в красный цвет и выводишь на экран как пнг. | |
Вернёмся к нашим баранам.
// Файл-изображение звёздочки из голосования $tile = imageCreateFromgif("star.gif"); // "Создаём" в памяти полноцветную картинку размером в моём случае 10х10 - под размёр звёздочки. $image = imageCreateTrueColor(10, 10); /* В php функции замены цвета требуют указывать в параметрах цвет в RGB-представлении - что то вроде 123,002,255. Это не очень круто, ибо нам удобнее оперировать более привычными #aa43e1. (Например, хекс-цвет можно вытаскивать непосредственно из css-файла.) Для этого делаем следующий финт ушами: переводим hex-представление цвета в RGB. */ // Тут у нас хранится hex-представление цвета. Нового цвета - того, которым мы будем заменять. $color = "FF44AA"; // Делаем перевод. Получаем 3 числа RGB которые передадим в следующую функцию... sscanf($color, "%2x%2x%2x", $red, $green, $blue); /* ...функцию которая произведёт замену цвета в нашем рисунке. Работает она так. Берёт пиксель с координатами (0,0) (в моёс случае, реально надо естественно взять другую точку, которая закрашена в цвет, который мы будем менять). */ imageFill($image, 0, 0, imageColorAllocate($image, $red, $green, $blue)); /* Всё, теперь $image содержит перекрашеный рисунок. Дальше его можно перевести в любой формат - скажем, в star.png и выводить на экран.*/ | |
У Вики есть плагины для подсветки программных кодов. Надо бы прикрутить их к хомяку, незаменимая вещь для таких вот обсуждений. (;
| |
Спасибо bob, за разъяснение, как только будет время сразу же налажу окрас имеджей.
Плугин есть, ты прав, надо будет прикрутить - прикручу. Сейчас реально просто не успеваю ни чего сделать. | |
Я тут нашёл полезную весчь,
Неплохим решением будет создание "напоминалки" в виде листа A4, в котором можно сосредоточить наиболее востребованные справочные данные, такие как список некоторых функций, модификаторы PCRE, режимы открытия файлов в функции fopen() и многое другое. ftp://mil.tushino.com/users-folders/dimarik/web/PHP/ |