PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (3): [1] 2 3 »

> Найдено сообщений: 39
froosty Отправлено: 13 Декабря, 2013 - 17:53:03 • Тема: Помогите с регулярным выражением для url • Форум: Вопросы новичков

Ответов: 7
Просмотров: 246
Мелкий пишет:
froosty пишет:
Если адрес будет к примеру http://vk.com/something/, то вернёт только vk.com, а должно вернуться vk.com/something

А теперь сравните с исходной задачей:
froosty пишет:
можно было бы достать vk.com, независимо от того, в каком из выше перечисленных видов хранится значение.

Следовательно, если в строке содержится vk.com - то можно сразу выносить вердикт - там есть vk.com.

Сори, видимо неверно сформулировал вопрос. vk.com писал для примера, но забыл об этом упомянуть)
froosty Отправлено: 13 Декабря, 2013 - 10:05:12 • Тема: Помогите с регулярным выражением для url • Форум: Вопросы новичков

Ответов: 7
Просмотров: 246
Panoptik, то что нужно. Огромное спасибо =)
froosty Отправлено: 13 Декабря, 2013 - 09:48:59 • Тема: Помогите с регулярным выражением для url • Форум: Вопросы новичков

Ответов: 7
Просмотров: 246
Спасибо за ответы, но это всё немного не то.
Мелкий
Честно говоря вообще не понял, к чему это
esterio
Это отчасти подходит, но тоже немного не то. Если адрес будет к примеру http://vk.com/something/, то вернёт только vk.com, а должно вернуться vk.com/something. Попробую перефразировать вопрос. Мне нужно из исходной ссылки убрать "http://" | "https://" и убираем последний слеш, если он есть.
Нужно что-то типа:
PHP:
скопировать код в буфер обмена
  1.  
  2. $clean_url = preg_replace('/ЗДЕСЬ_РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ/', 'ВЫРАЖЕНИЕ ДЛЯ ЗАМЕНЫ', 'http://vk.com/something/');
  3. echo $clean_url;
  4. // vk.com/something
  5.  


Как обрезать "http://" | "https://" вроде разобрался. Сделал вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $clean_url = preg_replace('/^(http:\/\/|https:\/\/)*(.*)$/', '\2', 'http://vk.com/something/');
  3.  

Но как убрать последний слеш при его наличии - не могу придумать =((((
froosty Отправлено: 12 Декабря, 2013 - 18:00:34 • Тема: Помогите с регулярным выражением для url • Форум: Вопросы новичков

Ответов: 7
Просмотров: 246
Доброго времени суток.
Помогите написать регулярное выражение. Есть url сайта. Может быть задан:
http://vk[dot]com/
http://vk[dot]com
vk.com/
vk.com

Нужно регулярное выражение, с помощью него и preg_replace можно было бы достать vk.com, независимо от того, в каком из выше перечисленных видов хранится значение. Заранее спасибо за помощь =)
froosty Отправлено: 04 Ноября, 2013 - 20:59:07 • Тема: IE и наследование • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 572
Доброго времени суток. Есть 2 скрипта.

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function($){
  3.     /**
  4.      * Базовый класс для работы с Аякс запросами
  5.      * В него включено также отображение загрузчика, сообщения об ошибка и "успехе"
  6.      * @param object params {
  7.      *                          ajax_path: '/admin/ajax/' - путь к аякс обработчику. Должен заканчиваться обязательно слешем,
  8.      *                          ...
  9.      *                      }
  10.      */
  11.     $.fn.BaseAjax = function(params){
  12.         var me = this,
  13.             default_params = {
  14.                 ajax_path : ''
  15.             };
  16.  
  17.         me.params = $.extend(default_params, params);
  18.  
  19.         /**
  20.          * Функция посылки запроса
  21.          * @param  string method           имя метода в обработчике. Пример: method: 'get_something' (запрос пошлется на '/admin/ajax/get_something')
  22.          * @param  object params           объект с отсылаемыми параметрами
  23.          * @param  function success_function функция обработчик success
  24.          */
  25.         me.send_query = function(method, params, success_function){
  26.             $.ajax({
  27.                 url: me.params.ajax_path+method,
  28.                 type: 'POST',
  29.                 dataType: 'json',
  30.                 data: params,
  31.                 success: success_function
  32.             });
  33.         };
  34.  
  35.         me.base_init = function(){
  36.             me.put_loader();
  37.             me.put_message_block();
  38.         };
  39.  
  40.  
  41.         /**
  42.          * Функция добавляющая на страницу лоадер, если его нету.
  43.          */
  44.         me.put_loader = function(){
  45.             if ($('.loader').length==0){
  46.                 var loader = '<div class="loader">'+
  47.                                 '<div class="loader_image">'+
  48.                                 '</div>'+
  49.                             '</div>';
  50.                 $('body').append(loader);
  51.             }
  52.             me.params.loader = $('.loader');
  53.         };
  54.  
  55.        
  56.         me.show_loader = function(){
  57.             me.set_loader_height();
  58.             $(me.params.loader).show();
  59.         };
  60.  
  61.  
  62.         me.hide_loader = function(){
  63.             $(me.params.loader).hide();
  64.         };
  65.  
  66.         me.set_loader_height = function(){
  67.             var height = document.height;
  68.             $(me.params.loader).css('height', height+'px');
  69.  
  70.             var width = 128,
  71.                 left = (document.width - width) / 2;
  72.  
  73.             $('.loader_image', me.params.loader).css('left', left+'px');
  74.  
  75.         };
  76.  
  77.  
  78.         /**
  79.          * Функция добавляющая на страницу блок сообщения если его нету
  80.          */
  81.         me.put_message_block = function(){
  82.             if ($('.ajax_message_block').length==0){
  83.                 var message_block = '<div class="ajax_message_block">'+
  84.                                   '</div>';
  85.                 $('body').append(message_block);
  86.             }
  87.  
  88.             me.params.message_block = $('.ajax_message_block');
  89.         };
  90.  
  91.         me.show_error = function(message){
  92.             $(me.params.message_block).removeClass('ajax_success_message').addClass('ajax_error_message');
  93.  
  94.             me.show_block(message);
  95.         };
  96.  
  97.         me.show_success = function(message){
  98.             $(me.params.message_block).removeClass('ajax_error_message').addClass('ajax_success_message');
  99.  
  100.             me.show_block(message);
  101.         };
  102.  
  103.         me.show_block = function(message){
  104.             $(me.params.message_block).html(message);
  105.             var left_value = (document.width-$(me.params.message_block).width())/2;
  106.             $(me.params.message_block).css({
  107.                 'left': left_value
  108.             });
  109.  
  110.             $(me.params.message_block).fadeIn(400, function(){
  111.                 setTimeout(function(){
  112.                     $(me.params.message_block).fadeOut(400);
  113.                 }, 2000);
  114.             });
  115.         };
  116.  
  117.         me.base_init();
  118.  
  119.         return this;
  120.     };
  121.  
  122. })(jQuery);
  123.  


И второй который наследуется от вышеуказанного

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function($){
  3.  
  4.     $.fn.ReviewsList = function(params){
  5.  
  6.         var me = this,
  7.             default_params = {
  8.                 page: 1,
  9.                 ajax_path: '/reviews/ajax/'
  10.             };
  11.  
  12.         this.__proto__ = new $.fn.BaseAjax;
  13.  
  14.         me.params = $.extend(me.params, default_params);
  15.         me.params = $.extend(me.params, params);
  16.  
  17.  
  18.         me.init = function(){
  19.             me.params.object_id = $(me).data('object-id');
  20.  
  21.             me.get_list();
  22.         };
  23.  
  24.  
  25.         me.bind_navigation = function(){
  26.             if ($('.pagination a', me).length>0){
  27.                 $('.pagination a', me).unbind('click');
  28.  
  29.                 $('.pagination a', me).click(function(e){
  30.                     e.preventDefault();
  31.  
  32.                     me.params.page = $(this).html();
  33.                     me.get_list();
  34.                 });
  35.             }
  36.  
  37.             if ($('.review_drop_down', me).length > 0){
  38.                 $('.review_drop_down', me).unbind('click');
  39.                 $('.review_drop_down', me).click(function(e){
  40.                     e.preventDefault();
  41.  
  42.                     $(this).parent().hide();
  43.                     $(this).parents('.review_container').find('.hidden_review_description').show();
  44.                     $(this).parents('.review_container').find('table.small_raiting_review').show();
  45.                 });
  46.             }
  47.         };
  48.  
  49.  
  50.         me.get_list = function(){
  51.             me.show_loader();
  52.             me.send_query('get_list', {
  53.                 page: me.params.page,
  54.                 object_id: me.params.object_id
  55.             }, function(result){
  56.                 me.hide_loader();
  57.  
  58.                 if (result==null){
  59.                     me.show_error('При послыке запроса произошла ошибка. Попробуйте обновить страницу');
  60.                     return;
  61.                 }
  62.  
  63.                 if (result.status==true){
  64.                     me.set_content(result.data);
  65.                     me.bind_navigation();
  66.                 }
  67.                 else{
  68.                     me.show_error(result.message);
  69.                 }
  70.             })
  71.         };
  72.  
  73.  
  74.         me.set_content = function(content){
  75.             $(me).html(content);
  76.         };
  77.  
  78.         me.init();
  79.     };
  80.  
  81. })(jQuery);
  82.  


В IE 8 при загрузке страницы возникает ошибка при вызове me.show_loader(); в функции me.get_list, и остальных унаследованных функций тоже. Такое впечатление, что просто не наследуется вообще. Подскажите пожалуйста в чем проблема ну и какое решение есть этой проблемы? Заранее спасибо.

p.s. код не идеальный, я понимаю Улыбка
froosty Отправлено: 18 Апреля, 2013 - 22:38:46 • Тема: Вопрос по лицензии CKEditor • Форум: Прочее

Ответов: 4
Просмотров: 32
Спасибо всем за помощь =)
froosty Отправлено: 18 Апреля, 2013 - 18:44:30 • Тема: Вопрос по лицензии CKEditor • Форум: Прочее

Ответов: 4
Просмотров: 32
LIME пишет:
можно
если его не продаешь
нигде в договоре не должно быть указано что берешь за него деньги

Подскажите, а где вы это вычитали (ну или откуда знаете=) )?
froosty Отправлено: 17 Апреля, 2013 - 23:36:11 • Тема: Вопрос по лицензии CKEditor • Форум: Прочее

Ответов: 4
Просмотров: 32
Доброго времени суток. Не нашёл категории куда задать этот вопрос, поэтому пишу в этой =) Вопрос в следующем.
Многим известен популярный wysiwyg редактор ckeditor (http://ckeditor[dot]com/ ). Знающие люди, подскажите, можно ли его использовать бесплатно при выполнении заказа, или он бесплатный только для open source проектов?
froosty Отправлено: 14 Марта, 2013 - 07:38:40 • Тема: Подскажите пожалуйста, почему на планшете вёрстка едет • Форум: HTML, Дизайн & CSS

Ответов: 10
Просмотров: 2184
Версталось для ПК, но не оч хорошо, что на Андроиде уезжает так( Да и на будущее разобраться, в чём собственно дело.
froosty Отправлено: 13 Марта, 2013 - 22:43:02 • Тема: Подскажите пожалуйста, почему на планшете вёрстка едет • Форум: HTML, Дизайн & CSS

Ответов: 10
Просмотров: 2184
Доброго времени суток. Помогите пожалуйста, люди знающие. Вот здесь http://licvid[dot]4programmer[dot]org[dot]ua в верхнем меню все пункты отображаются нормально. Но если зайти с Android устройства - почему-то последний пункт уезжает вниз. Подскажите, почему и оч.желательно, что с этим делать)

Заранее спасибо за ответ=)
froosty Отправлено: 30 Января, 2013 - 16:16:23 • Тема: Помогите с отправкой письма • Форум: Вопросы новичков

Ответов: 0
Просмотров: 38
Доброго времени суток. Такая проблема. Отправляю письмо с вложением. Письмо отправляется в cp1251. Всё отправляется нормально, но название файла почему-то отсылается в UTF-8. И поэтому русские названия отображаются криво(((
Уже пробовал использовать iconv (писал так: $text .= "filename=\"".iconv("UTF-8", "cp1251", $real_name)."\"\n\n";) но это не помогает( Может кто подскажет, что делать?) Заранее спасибо.
froosty Отправлено: 08 Ноября, 2012 - 13:45:43 • Тема: Помогите дописать регулярное выражение • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 867
Доброго времени суток. Нужно на JS провести валидацию данных. Решил сделать с помощью регулярного выражения. Должны быть доступны буквы и символы +-._' и пробел. Есть такой код:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.         onlyTextValidation: function(val){
  3.                 var fieldTest = /^[a-zа-я+-._\s]+$/i;
  4.                 return fieldTest.test(val);
  5.         },
  6.  


В это регулярное выражение нужно добавить одинарную кавычку, но почему-то не получается пробовал и просто кавычку и заэкранированную кавычку, выдаёт ошибку:
"Uncaught SyntaxError: Invalid regular expression: /^[a-zа-я+-'._\s]+$/: Range out of order in character class".
Как это исправить? Заранее спасибо.
froosty Отправлено: 08 Ноября, 2012 - 13:39:46 • Тема: Помогите с объектами в JS • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 803
Спасибо за помощь =)
froosty Отправлено: 05 Ноября, 2012 - 23:34:41 • Тема: Помогите с объектами в JS • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 803
Доброго времени суток. Подскажите пожалуйста, возможно ли определить свойства объекта в разных файлах js (в общем можно ли как-то объявить переменную, которая будет доступна во всех подключаемых файлах)? Ну т.е. к примеру у нас есть на страничке код:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  var Obj = {};
  3.  
  4.  $(document).ready(function(){
  5.      Obj.prop1();
  6.  });
  7.  

В файле property1.js:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  Obj.prop1 = function(){alert('Property1')};
  3.  

В файле property2.js:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  Obj.prop2 = function(){alert('Property2')};
  3.  

Эти файлы подключаются на страницу и при её загрузке срабатывает alert из 1 файла. Можно как то такое организовать?
froosty Отправлено: 03 Ноября, 2012 - 10:17:54 • Тема: Помогите организовать поиск в папке • Форум: Вопросы новичков

Ответов: 3
Просмотров: 133
DlTA, спасибо. Именно то, что нужно.

Panoptik, наверное тоже работает, но использовать exec не очень хочется. Тем более, что DlTA предложил более приемлемый вариант. Но всё равно спасибо за ответ =)

Страниц (3): [1] 2 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB