Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Строковые функции
Форумы портала PHP.SU » » Хранилище функций на JavaScript » Строковые функции

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

1. UserID - 08 Апреля, 2007 - 06:18:50 - перейти к сообщению
Мда, времени как всегда немного... Вообщем имена функций будут соответствовать их php-аналогам. Если будут предложения поинтереснее, будет интересно посмотреть.

PHP:
скопировать код в буфер обмена
  1.  
  2. function trim( mixed_var )
  3. {
  4.         // Получаем начальный первый символ строки
  5.         var child_start = mixed_var.substring( 0, 1 );
  6.         // Получаем последний символ строки
  7.         var child_end   = mixed_var.substring( mixed_var.length - 1, mixed_var.length );
  8.        
  9.         // В цикле сравниваем начальный символ, если совпадение есть,
  10.         // то обрезаем строку
  11.         while( child_start == " " ) {
  12.                 mixed_var = mixed_var.substr( 1 );
  13.         }
  14.        
  15.         // В цикле сравниваем конечный символ, если совпадение есть,
  16.         // то обрезаем строку
  17.         while( child_end == " " ) {
  18.                 mixed_var = mixed_var.substring( 0, mixed_var.length - 1 );
  19.         }
  20.        
  21.         // Возвращаем результат преобразования
  22.         return mixed_var;
  23. }
  24.  


Ну и аналоги:
PHP:
скопировать код в буфер обмена
  1.  
  2. function ltrim( mixed_var )
  3. {
  4.         // Получаем начальный первый символ строки
  5.         var child_start = mixed_var.substring( 0, 1 );
  6.        
  7.         // В цикле сравниваем начальный символ, если совпадение есть,
  8.         // то обрезаем строку
  9.         while( child_start == " " ) {
  10.                 mixed_var = mixed_var.substr( 1 );
  11.         }
  12.        
  13.         // Возвращаем результат преобразования
  14.         return mixed_var;
  15. }
  16.  
  17. function rtrim( mixed_var )
  18. {
  19.         // Получаем последний символ строки
  20.         var child_end   = mixed_var.substring( mixed_var.length - 1, mixed_var.length );
  21.  
  22.         // В цикле сравниваем конечный символ, если совпадение есть,
  23.         // то обрезаем строку
  24.         while( child_end == " " ) {
  25.                 mixed_var = mixed_var.substring( 0, mixed_var.length - 1 );
  26.         }
  27.        
  28.         // Возвращаем результат преобразования
  29.         return mixed_var;
  30. }
  31.  




Вот ещё пара простых реализаций:

PHP:
скопировать код в буфер обмена
  1.  
  2. // Возвращает длину строки
  3. function strlen( mixed_var ) {
  4.         return mixed_var.length;
  5. }
  6.  
  7. // Преобразует строку в нижний регистр
  8. function strtolower( mixed_var ) {
  9.         return mixed_var.toLowerCase();
  10. }
  11.  
  12. // Преобразует строку в верхний регистр
  13. function strtoupper( mixed_var ) {
  14.         return mixed_var.toUpperCase();
  15. }
  16.  
  17. // Преобразует строку в массив
  18. function str_split( mixed_var, mixed_num ) {
  19.        
  20.         // Выходной массив
  21.         var result = new Array();
  22.        
  23.         // Если порядок разбиений равен 1, тогда в цикле просто
  24.         // переписываем в массив символ в указанной позиции
  25.         if( mixed_num == 1 ) {
  26.                 for(var i = 0; i < mixed_var.length; i++) {
  27.                         result.push( mixed_var.charAt(i) );
  28.                 }
  29.         }
  30.        
  31.         // Если порядок разбиений больше единицы, тогда в цикле просто
  32.         // вырезаем кусок строки слева, помещаем в массив и обрезаем
  33.         // исходную строку, в соответствии с порядком деления
  34.         if( mixed_num > 1 ) {
  35.                 while(mixed_var.length > 0) {
  36.                         // Вырезаем слева кусок
  37.                         var mix_var = mixed_var.substring( 0, mixed_num );
  38.                        
  39.                         // Записываем в массив
  40.                         result.push(mix_var);
  41.                        
  42.                         // Обрезаем исходную строку
  43.                         mixed_var = mixed_var.substr(mixed_num);
  44.                 }
  45.         }
  46.        
  47.         // Если порядок деления меньше единицы, тогда всю строку пишем
  48.         // в первый элемент массива
  49.         if( mixed_num < 1 ) {
  50.                 result[0] = mixed_var;
  51.         }
  52.        
  53.         // На выходе получим массив из подстрок исходной строки, к примеру для строки "qwerty"
  54.         // и порядка разделения "2" получим массив -> [qw, er, ty]
  55.         return result;
  56. }
  57.  
2. -SCHATTEN- - 08 Апреля, 2007 - 10:36:54 - перейти к сообщению
Класс ! ждем продолжения.
3. UserID - 09 Апреля, 2007 - 00:30:10 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. // Переворачивает строку
  3. function strrev( mixed_var )
  4. {
  5.         // Переменная, получает значение результата оборота строки
  6.         var result = "";
  7.        
  8.         // Если длина строки не равна нулю
  9.         if( mixed_var.length != 0 ) {
  10.                
  11.                 // В переменную результата пишем результат через
  12.                 // посимвольную конкатенацию
  13.                 for(var i = mixed_var.length - 1; i >= 0; i--) {
  14.                         result += mixed_var.charAt(i);
  15.                 }
  16.         }
  17.        
  18.         // Возвращаем результат
  19.         return result;
  20. }
  21.  
  22. // Возвращает повторяющуюся строку
  23. function str_repeat( mixed_var, mixed_num )
  24. {
  25.         // Переменная, получает значение результата конкатенации строки
  26.         var result = "";
  27.        
  28.         // Если количество повторений больше единицы
  29.         if( mixed_num >= 1 ) {
  30.                 for(var i = 0; i < mixed_num; i++) {
  31.                         result += mixed_var;
  32.                 }
  33.         }
  34.        
  35.         // Возвращаем результат
  36.         return result;
  37. }
  38.  
  39. // Возвращает ASCII код символа
  40. function ord( mixed_var )
  41. {
  42.         // Переменная, получает ASCII-значение первого символа строки
  43.         var result = "";
  44.        
  45.         // Получение скан-кода
  46.         if(mixed_var.length != 0) {
  47.                 result = mixed_var.charCodeAt(0);
  48.         }
  49.        
  50.         // Если пришёл пустой символ строки, тогда выдаём просто ошибку
  51.         if(result == "") {
  52.                 result = "None";
  53.         }
  54.        
  55.         // Возвращаем результат
  56.         return result;
  57. }
  58.  
4. valenok - 09 Апреля, 2007 - 11:49:36 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function letter_posion(string , position) {
  4.    // возвращает символ находящийся на позиции pos от начала слова. Аналог $string{pos}
  5.    return string.charAt(position);
  6. }
  7.  
  8. function ord(char) {
  9.    //  Возвращает acsii обозначение для символа
  10.     // Аналог ord на javascript
  11.     return char,charCodeAt()  ;
  12. }
  13.  
  14. function un_ord( unicode [,unicode2, unicode3, ...] )  {
  15.     // Возвращает стмвол / строку по указанному uni коду
  16.     return unicode.fromCharCode (unicode);
  17. }
  18.  
  19.  
  20. function strpos( haystack, needle [, offset] ) {
  21.     // Возвращает позицию первого вхождения подстроки needle в строку haystack.
  22.     // аналог strstr
  23.     // аналог strpos
  24.    
  25.  if(offset) offset = offset ; else offset = 0 ;
  26.   return haystack.indexOf(needle,offset);
  27. }
  28.  
  29.  
  30. function strRpos( haystack, needle [, offset] ) {
  31.    // аналог strrpos
  32.     // Возвращает позицию первого вхождения подстроки needle в строку haystack.
  33.    
  34.  if(offset) offset = offset ; else offset = 0 ;
  35.   return haystack.lastindexOf(needle,offset);
  36. }
  37.  
  38.  
  39. function explode(separator, string [, limit]){
  40.  // Возвращает массив строк, полученных разбиением строки string с использованием
  41.   // separator в качестве разделителя.
  42.   // аналог explode
  43.  
  44.    return string.split (seperator ,limit);
  45. }
  46.  
  47. function implode(array,separator){
  48.   // Аналог join на Javascript
  49.   // Аналог implode на Javascript
  50.  
  51.   return array.join(separator);
  52. }
  53.  

5. valenok - 12 Апреля, 2007 - 10:17:52 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. function trim(str) {
  3.   str = str.replace(/(^ *)|( *$)/,"");
  4.   reurn str;
  5. }
  6.  
  7. function rtrim(str) {
  8.   str = str.replace(/( *$)/,"");
  9.   reurn str;
  10. }
  11.  
  12. function ltrim(str) {
  13.   str = str.replace(/(^ *)/,"");
  14.   reurn str;
  15. }
  16.  
6. valenok - 14 Апреля, 2007 - 13:11:01 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. function wordwrap (str [,width [, break [,cut]]] ){
  3.  
  4. // Аналог wordwrap на javascript
  5. // wordwrap javascript analog
  6.  
  7. // str = string  // текст
  8. // width = next line after x chars // разбивать тест каждые x символов
  9. // break = string used to split string (< br>) // Символ разбивания строки
  10. // cut = cut words or wrap after space // разрезать слово по середине или только после слова
  11.  
  12. // Аргументы width и break необязательны и по умолчанию равны 75 и '<br/>' соответственно.
  13.  
  14. // Выставляем значения по умолчанию.
  15. // Defining default values
  16. w = 75;
  17. b = "<br/>";
  18. c = False;
  19.  
  20. if(width) w = width;
  21. if(break) b = break;
  22. if(cut) c = 1;
  23.  
  24. if(!str) return false;
  25. if(str.length<w) return str;
  26.  
  27. var strarr = new Array();
  28. var count = Math.ceil(str.length / w) ;
  29.  
  30. if(c){
  31.    for(i=0;i<count;i++){
  32.       strarr[i] = str.substr(i*w,w);
  33.    }
  34. }else{
  35.       var i = 0;
  36.       while(str.length > 0){
  37.          var forward = str.indexOf(" ",(w-1));
  38.          if(forward==-1) forward = 0;
  39.          else forward = forward - 10;
  40.          strarr[i] = str.substr(0,w+forward);
  41.          str = str.substr(w+forward);
  42.          i++;
  43.       }
  44.       strarr[i-2] = strarr[i-2] + strarr[i-1];
  45.       strarr[i-1] = "";
  46. }
  47.  
  48. var wrapped_str = strarr.join(b);
  49. if(!c) wrapped_str = wrapped_str.substr( 0 , (wrapped_str.length - b.length) );
  50.  
  51. return wrapped_str;
  52.  
  53. }
  54.  
  55.  
\n\n(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. fucntion parse_str(str [,arr]){
  4. // Аналог parse_str на Javascript
  5.  
  6. var request = str;
  7. if(request.indexOf('&')!=-1){
  8.                         var GET = request.split('&');
  9.                         var arr = new Array();
  10.                         for(i=0;i<arr.length;i++){
  11.                                 var cur = arr[i].split('=');
  12.                                 arr[cur[0]]=cur[1];
  13.                         }
  14.                 }
  15.  
  16. }
  17.  



Везде как всегда - автор я.

 

Powered by ExBB FM 1.0 RC1