1

Полная замена переносов строк в JavaScript при помощи PHP

Для передачи данных посредствам AJAX или других JavaScript-функций, иногда требуется избавиться от переносов строк. Как показала практика, просто удалить или заменить командные символы возврата и новой строки, \r и \n, недостаточно.

Приведу наиболее полную последовательность «нежелательных» символов для замены, и их обработку через PHP-функцию str_replace():

// массив спецсимволов для замены
$search = array(PHP_EOL, chr(10), chr(13), '\r' , '\n', '\t', '\x0B', '\0');
// на что заменять
$replace = '';
// текст с переносами строк
$sometext = '...';
// функция замены переноса строк
$newtext = str_replace($search , $replace, $sometext);

При желании можно заменять символы не на пустую строку, а на уникальный флаг, например %newline%, или HTML-тег <br />. Тогда процесс станет обратимым и переносы возможно будет восстановить.

0

Проверка на чётность в JavaScript

В этой небольшой инструкции описано несколько примеров определения чётности / нечётности в JavaScript, а также при помощи библиотеки jQuery.

Способ первый, нативный JS, деление по модулю

var isEven = function(someNumber) {
  return (someNumber % 2 == 0) ? true : false;
};

Оператор % возвращает значение остатка при делении первого операнда на второй. Результат будет иметь тот же знак, что и первый операнд.

Использовать эту функцию очень просто:

isEven(64); // вернёт true
isEven(97); // вернёт false

Способ второй, jQuery

$("tr:even").css("background-color", "#BBBBFF");

В этом случае все чётные тэги tr будут наделены соответствующим стилем CSS.

Проверка на нечётность в jQuery, делается по аналогии с указанным выше способом, только вместо флага even указывается флаг odd.

Continue Reading

0

Обновление поля из слоя FCKeditor

По мотивам записи Обновление поля из слоя CKEditor

Как оказалось, забытый FCKeditor жив и здравствует, подтверждение тому — обновление от 2 августа 2012 года на официальном сайте проекта.

Суть проблемы, как и в предыдущем посте, в том, что данные не попадают в textarea из слоя WYSIWYG редактора FCKeditor. Такое может произойти, если сабмит формы происходит посредством JavScript функций или событий, а не стандартной кнопкой submit. Решение простое, JS-код ниже обновляет все инстанции FCKeditor:

/**
 * Update FCKeditor fields
 */
if (window.FCKeditorAPI) {
  for (fckeditorName in FCKeditorAPI.Instances) {
    var editor = FCKeditorAPI.GetInstance(fckeditorName);
    if ( editor.IsDirty() ) {
      $('#' + fckeditorName).val( editor.GetHTML() );    
    }
  }
}
0

Обновление поля из слоя CKEditor

При работе с WYSIWYG (What You See Is What You Get) редактором CKEditor, может возникнуть потребность перенести актуальные данные из слоя редактора, непосредственно в textarea-поля формы, и всё это до нажатия submit-кнопки. Такое может понадобиться, например, если хотим обработать данные поля каким нибудь JavaScript функционалом.

Пока submit-кнопка не нажата — данные в слое CKEditor не попадают в поле формы, слой как бы заменяет собой текстовое поле textarea, которое остаётся скрытым. Continue Reading

3

Как узнать количество поделившихся ссылкой на Facebook?

Очень кстати полезная информация для SEO, пиара и отслеживания эффективности рекламной компании. Решается очень просто, набираем в браузере адрес вида:

http://graph.facebook.com/http://www.rebelcode.ru/linux/servernaya-pochta-na-osnove-postfix-dovecot-i-mysql-dlya-debian/

Где жирным шрифтом выделенна расшариваемая ссылка, и видим такой вот JSON ответ:

{
  "id": "http://www.rebelcode.ru/linux/ ...",
  "shares": 17
}

Получается 17 раз этой ссылкой «поделились». Естественно, что запрос может исходит не из браузера, а из самолично написанного кода на PHP например. Тогда в админке системы может появиться неплохая возможность для таргетинга поделившихся на Facebook. Continue Reading