PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (6): « 1 [2] 3 4 5 6 »
Найдено сообщений: 77
MrSource
Отправлено: 12 Апреля, 2011 - 09:52:32 • Тема: Замена "собственных" тегов по регулярному выражению в html. • Форум: Программирование на PHP
Ответов: 10 Просмотров: 1097
Здравствуйте, вот задался элементарной задачей, но что-то не могу сообразить как реализовать.
Допустим есть html страница:
Нужна функция, которая будет парсить этот html файл и все теги вида [LANG:*word*]
заменять на: $lang['*word*']
Например, на $lang['main']
P.S. составил регулярное выражение соответствующее задаче:
MrSource
Отправлено: 12 Апреля, 2011 - 09:44:16 • Тема: HTACCESS и кириллица • Форум: Программирование на PHP
Ответов: 7 Просмотров: 1528
vanicon пишет: Цитата: Где то когда то вычитывал, что была такая проблема... лечили преобразованием файла htacces в utf-8
Попробовал, сервер выдал ошибку...
Думаю все же копать надо действительно в модулях и настройках самого сервера....
Это Вы просто криво сохранили
MrSource
Отправлено: 10 Апреля, 2011 - 13:55:48 • Тема: Символ степени и индекса в изображениях. • Форум: Программирование на PHP
Ответов: 3 Просмотров: 427
movEAX пишет: MrSource пишет: Блин, из-за кодировки форума тут тоже не отображается индекс или степень...
pastebin?) Впрочем задача ясна. GD вряд ли корректно будет работать с юникодом.
(Добавление)
Не вариант, я так тоже думал, но мне нужно выводить динамически различные уравнения, тоесть если будет уравнение вида:
b(2) * 32 / 99 * 3(2) = 42(2) (2 - степень)
то, чтобы подставить маленькую двоечку под каждую степень динамически будет очень и очень непросто...
MrSource
Отправлено: 10 Апреля, 2011 - 11:50:01 • Тема: Символ степени и индекса в изображениях. • Форум: Программирование на PHP
Ответов: 3 Просмотров: 427
Здравствуйте, есть следующий код:
То есть мне нужно вывести в изображении b во сторой степени(в квадрате), но при использовании 2-ух функций у меня не получается этого добиться.
Пожалуйста, подскажите.
(Добавление)
Блин, из-за кодировки форума тут тоже не отображается индекс или степень...
MrSource
Отправлено: 01 Апреля, 2011 - 18:51:35 • Тема: Проблема с работой класса. • Форум: Программирование на PHP
Ответов: 11 Просмотров: 743
OrmaJever пишет: я исправил пост.
OrmaJever пишет: ой я не заметил, статические переменые вызываются self::$var, а я везьде написал self::var
Я уже заметил, после того как ответил, кстати функции offset* не могут быть статическими
(Добавление)
MrSource пишет: OrmaJever пишет: я исправил пост.
OrmaJever пишет: ой я не заметил, статические переменые вызываются self::$var, а я везьде написал self::var
Я уже заметил, после того как ответил, кстати функции offset* не могут быть статическими
OrmaJever , огромное спасибо за помощь
MrSource
Отправлено: 01 Апреля, 2011 - 18:46:34 • Тема: Проблема с работой класса. • Форум: Программирование на PHP
Ответов: 11 Просмотров: 743
OrmaJever пишет: возможно я ошибся и строка с масивом будет выгляеть так
Не, там вообще синтаксическая ошибка вылетает:
Цитата: Parse error: syntax error, unexpected '[', expecting '(' in K:\xampp\htdocs\classes\registry.class.php on line 9
MrSource
Отправлено: 01 Апреля, 2011 - 18:42:07 • Тема: Чем отличаются строки? • Форум: Программирование на PHP
Ответов: 14 Просмотров: 790
Extazy пишет: может ли код работать неправильно из-за того, что в таблице `archives` нет записей одного из пользователей user_id ?? Не все пользователи имеют записи в этой таблице.
Нет, Вы просто получите пустой результат.
MrSource
Отправлено: 01 Апреля, 2011 - 18:36:31 • Тема: Проблема с работой класса. • Форум: Программирование на PHP
Ответов: 11 Просмотров: 743
OrmaJever пишет: хорашо можно зделать и так только тогда registry будет выглядеть так
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?
Class Registry Implements ArrayAccess {
static
private $vars = array ( ) ;
static function offsetExists( $offset ) {
return isset ( self :: vars [ $offset ] ) ;
}
static function offsetGet( $offset ) {
return self :: get ( $offset ) ;
}
static function offsetSet( $offset , $value ) {
self :: set ( $offset , $value ) ;
}
static function offsetUnset( $offset ) {
unset ( self :: vars [ $offset ] ) ;
}
static function set( $key , $var ) {
if ( isset ( self :: vars [ $key ] ) == true ) {
throw new Exception( 'Unable to set var `' . $key . '`. Already set.' ) ;
}
self :: vars [ $key ] = $var ;
return true ;
}
static function get( $key ) {
if ( isset ( self :: vars [ $key ] ) == false ) {
return null ;
}
return self :: vars [ $key ] ;
}
static function remove( $var ) {
}
}
?>
и все методы будут доступны
registry::*
$this больше использовать нельзя.
Конструкция:
Цитата: self::vars[$offset]
не обрабатывается, я так понял, что через self::* нужное значение из массива не получить...
MrSource
Отправлено: 01 Апреля, 2011 - 16:02:55 • Тема: Проблема с работой класса. • Форум: Программирование на PHP
Ответов: 11 Просмотров: 743
OrmaJever пишет:
Ну если класс registry используется очень часто в core то можно обьект записать в свойство.
PHP:
скопировать код в буфер обмена
class core {
public $reg = false ;
function init_config( ) {
include ( 'config.php' ) ;
$this -> reg -> set ( 'config' , $config ) ;
}
}
PHP:
скопировать код в буфер обмена
$registry = new registry;
$core = new core;
$core -> reg = $registry ;
$core -> init_config ( ) ;
$registry -> get ( 'config' ) ;
По-моему это лутше чем делать метод статическим.
Тоже идея, но если классов будет большое количество, передавать переменную в каждый из низ будет неудобно как-то.
Вообще цель - создать универсальный класс, чтобы был доступ к определённым параметрам из любой части скрипта(инклуд, класс, функция и т.д.) без лишних телодвижений.
MrSource
Отправлено: 01 Апреля, 2011 - 15:28:14 • Тема: Проблема с работой класса. • Форум: Программирование на PHP
Ответов: 11 Просмотров: 743
Но теперь, чтобы получить в любой функции доступ к регистру, нужно будет переменную $registry сделать глобальной в каждой функции.
Мне нужно, чтобы в любой функции можно было получить любое значение с помощью
MrSource
Отправлено: 31 Марта, 2011 - 21:27:08 • Тема: Проблема с работой класса. • Форум: Программирование на PHP
Ответов: 11 Просмотров: 743
Здравствуйте, для примера, есть слудующий код:
класс core:
класс registry:
PHP:
скопировать код в буфер обмена
<?PHP
Class Registry Implements ArrayAccess {
function offsetExists( $offset ) {
return isset ( $this -> vars [ $offset ] ) ;
}
function offsetGet( $offset ) {
return $this -> get ( $offset ) ;
}
function offsetSet( $offset , $value ) {
$this -> set ( $offset , $value ) ;
}
function offsetUnset( $offset ) {
unset ( $this -> vars [ $offset ] ) ;
}
function set( $key , $var ) {
if ( isset ( $this -> vars [ $key ] ) == true ) {
throw new Exception( 'Unable to set var `' . $key . '`. Already set.' ) ;
}
$this -> vars [ $key ] = $var ;
return true ;
}
function get( $key ) {
if ( isset ( $this -> vars [ $key ] ) == false ) {
return null ;
}
return $this -> vars [ $key ] ;
}
function remove( $var ) {
unset ( $this -> vars [ $key ] ) ;
}
}
?>
config.php
по сути требуется получить доступ к массиву, но я получаю ошибку:
Цитата: Fatal error: Using $this when not in object context in K:\xampp\htdocs\classes\registry.class.php on line 53
Если сделать так:
PHP:
скопировать код в буфер обмена
$registry = new registry;
$core = new core;
$core -> init_config ( ) ;
$registry -> get ( 'config' ) ;
или
$registry [ 'config' ]
то доступ к массиву я всёравно не получаю, но ошибка уже не возникает...
прошу вас помочь решить проблему...
MrSource
Отправлено: 22 Марта, 2011 - 16:49:59 • Тема: mysql_fetch_array, перебираем массивы с конца • Форум: Программирование на PHP
Ответов: 6 Просмотров: 754
Мелкий пишет: MrSource пишет: тоесть мне нужно достать 30 последних сообщений с 5-ой комнаты
Но непосредственно по id сортировать-то бесполезно, т.к. id у всех записей одинаковый и равен 5.
По чему-то другому надо сортировать, например по id сообщения.
Немного неправильно запрос здесь написал,
В базе сообщения имеют такие столбцы: id,username,date,message,channel
MrSource
Отправлено: 22 Марта, 2011 - 16:43:09 • Тема: mysql_fetch_array, перебираем массивы с конца • Форум: Программирование на PHP
Ответов: 6 Просмотров: 754
Саныч пишет: Уберите из запроса DESC и получите "с конца"
Вы немного не поняли логики) Мне нужны последние 30 записей в базе, но, чтобы эти 30 сообщений просто выводились в обратном порядке.
Champion пишет: Отсортировать в другую сторону
SELECT * FROM(SELECT * FROM messages WHERE id='5' ORDER BY id DESC LIMIT 30) t ORDER BY id ASC
Вообще интересно, что id в выборке будут одинаковые: id='5' и вообще не понтно нафига сортировка.
Либо есть такая штука как mysql_num_rows() и mysql_result()
id служит, как идентификатор канала чата(или же комнаты, чтобы было понятнее), тоесть мне нужно достать 30 последних сообщений с 5-ой комнаты
Champion , Благодарю, всё получилось Очень оперативно)
Страниц (6): « 1 [2] 3 4 5 6 »
Powered by ExBB FM 1.0 RC1. InvisionExBB