[javascript][solution] набор функций, аналогичных php

Статус
В этой теме нельзя размещать новые ответы.

zaartix

Постоялец
Регистрация
15 Май 2006
Сообщения
73
Реакции
27
многим пригодится, имхо

PHP:
function strlen( mixed_var )  {
   return mixed_var.length; 
   }

// Преобразует строку в нижний регистр
function strtolower( mixed_var )  {
   return mixed_var.toLowerCase(); 
   }

// Преобразует строку в верхний регистр
function strtoupper( mixed_var )  {
   return mixed_var.toUpperCase(); 
   }

// Преобразует строку в массив
function str_split( mixed_var,  mixed_num )  {
   // Выходной массив
   var result  =  new Array(); 
   // Если порядок разбиений равен 1, тогда в цикле просто
   // переписываем в массив символ в указанной позиции
   if( mixed_num  ==  1 )  {
      for(var i  =  0;  i  <  mixed_var.length;  i++)  {
         result.push( mixed_var.charAt(i) ); 
         }
      }
   // Если порядок разбиений больше единицы, тогда в цикле просто
   // вырезаем кусок строки слева, помещаем в массив и обрезаем
   // исходную строку, в соответствии с порядком деления
   if( mixed_num  >  1 )  {
      while(mixed_var.length  >  0)  {
         // Вырезаем слева кусок
         var mix_var  =  mixed_var.substring( 0,  mixed_num ); 
         // Записываем в массив
         result.push(mix_var); 
         // Обрезаем исходную строку
         mixed_var  =  mixed_var.substr(mixed_num); 
         }
      }
   // Если порядок деления меньше единицы, тогда всю строку пишем
   // в первый элемент массива
   if( mixed_num  <  1 )  {
      result[0]  =  mixed_var; 
      }
   // На выходе получим массив из подстрок исходной строки, к примеру для строки "qwerty"
   // и порядка разделения "2" получим массив -> [qw, er, ty]
   return result; 
   }

// Переворачивает строку
function strrev( mixed_var ) {
   // Переменная, получает значение результата оборота строки
   var result  =  ""; 
   // Если длина строки не равна нулю
   if( mixed_var.length  !=  0 )  {
      // В переменную результата пишем результат через
      // посимвольную конкатенацию
      for(var i  =  mixed_var.length  -  1;  i  >=  0;  i--)  {
         result  +=  mixed_var.charAt(i); 
         }
      }
   // Возвращаем результат
   return result; 
   }

// Возвращает повторяющуюся строку
function str_repeat( mixed_var,  mixed_num ) {
   // Переменная, получает значение результата конкатенации строки
   var result  =  ""; 
   // Если количество повторений больше единицы
   if( mixed_num  >=  1 )  {
      for(var i  =  0;  i  <  mixed_num;  i++)  {
         result  +=  mixed_var; 
         }
      }
   // Возвращаем результат
   return result; 
   }

// Возвращает ASCII код символа
function ord( mixed_var ) {
   // Переменная, получает ASCII-значение первого символа строки
   var result  =  ""; 
   // Получение скан-кода
   if(mixed_var.length  !=  0)  {
      result  =  mixed_var.charCodeAt(0); 
      }
   // Если пришёл пустой символ строки, тогда выдаём просто ошибку
   if(result  ==  "")  {
      result  =  "None"; 
      }
   // Возвращаем результат
   return result; 
   }

// возвращает символ находящийся на позиции pos от начала слова. Аналог $string{pos}
function letter_posion(string ,  position)  {
   return string.charAt(position); 
   }

// Возвращает символ / строку по указанному uniкоду
function un_ord( unicode [, unicode2,  unicode3,  ...] )  {
   return unicode.fromCharCode (unicode); 
   }

// Возвращает позицию первого вхождения подстроки needle в строку haystack.
// аналог strstr
// аналог strpos
function strpos( haystack,  needle [,  offset] )  {
   if(offset) offset  =  offset ; 
    else offset  =  0 ; 
   return haystack.indexOf(needle, offset); 
   }

// аналог strrpos
// Возвращает позицию первого вхождения подстроки needle в строку haystack.
function strRpos( haystack,  needle [,  offset] )  {
   if(offset) offset  =  offset ; 
    else offset  =  0 ; 
   return haystack.lastindexOf(needle, offset); 
   }

// Возвращает массив строк, полученных разбиением строки string с использованием
// separator в качестве разделителя.
// аналог explode
function explode(separator,  string [,  limit]) {
   return string.split (seperator , limit); 
   }

// Аналог join на Javascript
// Аналог implode на Javascript
function implode(array, separator) {
   return array.join(separator); 
   }

function trim(str)  {
   str  =  str.replace(/(^ *)|( *$)/,"");
   reurn str; 
   }
function rtrim(str)  {
   str  =  str.replace(/( *$)/,"");
   reurn str; 
   }
function ltrim(str)  {
   str  =  str.replace(/(^ *)/,"");
   reurn str; 
   }

function wordwrap (str [, width [,  break [, cut]]] ) {
   // Аналог wordwrap на javascript
   // wordwrap javascript analog
   // str = string // текст
   // width = next line after x chars // разбивать тест каждые x символов
   // break = string used to split string (< br>) // Символ разбивания строки
   // cut = cut words or wrap after space // разрезать слово по середине или только после слова
   // Аргументы width и break необязательны и по умолчанию равны 75 и '<br/>' соответственно.
   // Выставляем значения по умолчанию.
   // Defining default values
   w  =  75; 
   b  =  "<br/>"; 
   c  =  False; 
   if(width) w  =  width; 
   if(break) b  =  break; 
   if(cut) c  =  1; 
   if(!str) return false; 
   if(str.length < w) return str; 
   var strarr  =  new Array(); 
   var count  =  Math.ceil(str.length  /  w) ; 
   if(c) {
      for(i = 0; i < count; i++) {
         strarr[i]  =  str.substr(i * w, w); 
         }
      }
   else {
      var i  =  0; 
      while(str.length  >  0) {
         var forward  =  str.indexOf(" ", (w - 1)); 
         if(forward ==- 1) forward  =  0; 
         else forward  =  forward  -  10; 
         strarr[i]  =  str.substr(0, w + forward); 
         str  =  str.substr(w + forward); 
         i++; 
         }
      strarr[i - 2]  =  strarr[i - 2]  +  strarr[i - 1]; 
      strarr[i - 1]  =  ""; 
      }
   var wrapped_str  =  strarr.join(b); 
   if(!c) wrapped_str  =  wrapped_str.substr( 0 ,  (wrapped_str.length  -  b.length) ); 
   return wrapped_str; 
   }

 function parse_str(str [, arr]) {
   // Аналог parse_str на Javascript
   var request  =  str; 
   if(request.indexOf('&') !=- 1) {
      var GET  =  request.split('&'); 
      var arr  =  new Array(); 
      for(i = 0; i < arr.length; i++) {
         var cur  =  arr[i].split('='); 
         arr[cur[0]] = cur[1]; 
         }
      }
   }
взято с:
Для просмотра ссылки Войди или Зарегистрируйся
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху