Verification: a143cc29221c9be0

Php base64 encode base64 decode

Php base64 encode base64 decode

string

string() - создает пустую строку. Аналог простого s = ''.

string(str) - создает строку str. Аналог простого s = 'str'.

length

length() - возвращает длину массива или строки.

size

size() - возвращает длину массива или строки (синоним метода length).

regex

regex(string, regex) - возвращает массив из найденных элементов в строке string. Кроме этого в первом элементе всегда находится остаток от строки string. Если ничего не найдено, то возвращается null.

Пример:

regex(a, "(?s)(.*)") - ищем в переменной а многострочный текст между тэгов  и 

replace

string replace(string source, string search_text, string replace_text) - замена внутри source всех вхождений текста search_text на replace_text

string replace(string source, string search_text, string replace_text, int start, int count) - замена внутри source вхождений текста search_text на replace_text count вхождений, начиная со номера start

pos

int pos(string search_text, string source) - возвращает позицию первого вхождения подстроки search_text в строке source.

lastpos

int lastpos(string search_text, string source) - возвращает позицию последнего вхождения подстроки search_text в строке source.

substr

string substr(string text, int start) - возвращает подстроку из строки text, начиная с позиции start

string substr(string text, int start, int length) - возвращает подстроку из строки text, начиная с позиции start длиной length

substring

substring(beginIndex, endIndex) - возвращает подстроку, начиная с beginIndex по endIndex (объектный метод).

lowercase

string lowercase(string text) - возвращает строку text в нижнем регистре

Поддержка массивов строк.

toLowerCase

toLowerCase() - переводит строку в нижний регистр (объектный метод).

uppercase

string uppercase(string text) - возвращает строку text в верхнем регистре

Поддержка массивов строк.

toUpperCase

toUpperCase() - переводит строку в верхний регистр (объектный метод).

rtrim

string rtrim(string text) - возвращает строку text с удаленными замыкающими пробелами

trim

string trim(string text) - возвращает строку text с удаленными лидирующими и замыкающими пробелами.

string trim() - удаляет лидирующие и замыкающие пробелы (объектный метод).

Поддержка массивов строк.

padl

string padl(string text, int length) - дополнение строки text пробелами слева до общей длины length

string padl(string text, int length, string fillChar) - дополнение строки text слева до общей длины length символом fillChar

padr

string padr(string text, int length) - дополнение строки text пробелами справа до общей длины length

string padr(string text, int length, string fillChar) - дополнение строки text справа до общей длины length символом fillChar

padc

string padc(string text, int length) - дополнение строки text пробелами слева и справа до общей длины length

string padc(string text, int length, string fillChar) - дополнение строки text слева и справа справа до общей длины length символом fillChar

splitlines

array splitlines(string text) - разбивает строку text на массив подстрок в местах использования символов перевода строк.

split

array split(string text, string splitStr) - разбивает строку text на массив подстрок в местах использования splitStr.

ston

ston(string) - переводит строку в число.

clipboard

string clipboard() - возвращает содержимое clipboard в текстовом формате

clipboardHtml

clipboardHtml() - возвращает содержимое clipboard в формате HTML

clipboardImage

clipboardImage() - возвращает содержимое clipboard в графическом формате.

isString

boolean isString(var) - возвращает признак того, что var содержит строку, например, id объекта или ссылку на объект.

encrypt

byte[] encrypt(string x) - Возвращает 160-битное хэш-значение строки x по алгоритму SHA-1. В случае проблем возвращает null.

base64encode

Object base64encode(Object o) - кодирование по алгоритму base64 (конвертация непечатных символов в печатные). В случае проблем возвращается null. Поддерживаются такие объкеты, как строки, byte[], hash- и обычные массивы. В массивах обрабатываются строковые и байтовые элементы.

base64decode

Object base64decode(Object o) - декодирование по алгоритму base64 (конвертация печатных символов в непечатные). В случае проблем возвращается null. Поддерживаются такие объкеты, как строки, byte[], hash- и обычные массивы. В массивах обрабатываются строковые и байтовые элементы.

str2hex

string str2hex(string | byte[]) - конвертация символов в их hex-представление без разделителя. В случае проблем возвращает null.

hex2str

byte[] hex2str(string) - обратная конвертация символов из их hex-представление в оригинальный вид. В случае проблем возвращает null.

i18n

i18n(string) - выполняет интернационализацию текста: конвертирует ключевое слово в строку в соответствии с appxml.language.

i18n(string, array) - то же, что и i18n(string), только с подстановкой строковых параметров, указанных в array. Параметры подставляются в %0, %1, %2 и т.д. места.

toInteger

Integer toInteger(string) - приводит целое число в строковом виде к числовому виду (Integer). Полезен при передаче параметров в Java-метод.

toLong

Long toLong(string) - приводит целое число в строковом виде к числовому виду (Long). Полезен при передаче параметров в Java-метод.

toDouble

Double toDouble(string) - приводит число с плавающей точкой в строковом виде к числовому виду (Double). Полезен при передаче параметров в Java-метод.

toUnixSlash

string toUnixSlash(string s) - меняет слэши на прямые.

checkDirName

checkDirName(string dir_name) - проверяет имя каталога на правильность слэшей и, при надобности, исправляет.

toBytes

byte[] toBytes(String str) - переводит строку в массив байт

isEmpty

boolean isEmpty(String s) - возвращает true если строка либо null, либо пуста, либо содержит одни пробелы.

isEmpty() - возвращает признак пустой строки: либо пустая строка, либо строка состоит из одних пробелов (объектный метод).

add

add(string) - добавляет строку string в конец строки.

append

append(string) - добавляет строку string в конец строки (синоним метода add).

insert

insert(pos, string) - вставляет в позицию pos строки подстроку string.

remove

remove(start, end) - удаляет часть строки, с позиции start по позицию end.

remove(count) - если count > 0, удаляет count символов с начала строки. Если count

remove(str) - удаляет все вхождения подстроки str.

removeEmpty

removeEmpty() - удаляются все символы пустоты: пробелы, табуляции, переносы строк.

removeSpace

removeSpace() - удаляются все пробелы.

removeCRLF

removeCRLF() - удаляются все переносы строк.

removeTab

removeTab() - удаляются все табуляции.

removeAll

removeAll() - очищает строку.

fill

fill(str, count) - добавляет в буфер строку str count раз.

replace

replace(target, replace) - заменяет все подстроки target на подстроку replace.

indexOf

indexOf(string) - возвращает позицию первого вхождения подстроки string.

lastIndexOf

lastIndexOf(string) - возвращает позицию последнего вхождения подстроки string.

toString

toString() - ввозвращает результирующую строку.

firstLetterUp

firstLetterUp() - поднимает первую букву в верхний регистр.

toArray

toArray(string) - разбиение строки на массив символов.

splitTab

splitTab() - разбиение строки на массив по символам табуляции.

splitLinesTab

splitLinesTab() - разбиение строки на двумерный массив по символам конца строки и по символам табуляции в указанном порядке.

splitHash

splitHash() - разбивает строку на две части по разделителю »:» и возвращает результат в виде хэш-массива с одной парой значений.

splitHash(sep) - разбивает строку на две части по разделителю sep и возвращает результат в виде хэш-массива с одной парой значений.

toHash

toHash() - разбивает строку на подстроки, а каждую подстроку - на две части по разделителю »:» и возвращает результат в виде хэш-массива.

toHash(sep) - разбивает строку на подстроки, а каждую подстроку - на две части по разделителю sep и возвращает результат в виде хэш-массива.

toNumber

toNumber(str) - переводит строковое представление числа в числовое.

Добавление запросов $tools.query.*#

Данный инструмент позволяет добавлять запросы к уже существующим прямо во время работы задания, формируя их на основе уже спаршенных результатов. Может быть использован как аналог функции Parse to level в тех парсерах, где она не реализована. Существует 2 метода:

  • [% tools.query.add(query, maxLevel) %] - добавляет одиночный запрос
  • [% tools.query.addAll(array, item, maxLevel) %] - добавляет массив запросов

Параметр maxLevel указывает до какого уровня добавлять запросы, и является необязательным: если он опущен, то фактически парсер будет добавлять новые запросы пока они есть. Также рекомендуется включать опцию Уникальные запросы, чтобы избежать зацикливания и излишней работы парсера.

$tools.ua.random()

Результат работы пресета на скриншоте:

Разбор JSON структур $tools.parseJSON()#

Этот инструмент позволяет десериализовать данные в формате JSON в переменные (объект), доступные в шаблонизаторе. Пример использования:

После десериализации к ключам из полученного обьекта можно обращаться как к обычным переменным и массивам. Если в качестве аргумента будет указана строка с невалидным JSON, парсер запишет ошибку в $tools.error.

$tools.parseJSON

Вывод в CSV $tools.CSVline#

Этот инструмент автоматически приводит значения к формату CSV и добавляет перенос строки, тем самым в формате результата достаточно перечислить нужные переменные, а на выходе будет валидный CSV файл, готовый для импорта в Google Docs/Excel/и т.п.

Пример использования:#

Видео с использованием $tools.CSVline():#

Работа с БД SQLite $tools.sqlite.*#

Этот инструмент позволяет легко и полноценно работать с базами данных SQLite. Существует три метода:

  • $tools.sqlite.get() - метод, позволяющий получить единичную информацию из БД с помощью SELECT, например:
  • $tools.sqlite.run() - метод, позволяющий выполнить операции с БД (INSERT, DROP и т.п.), например:
  • $tools.sqlite.all() - метод, позволяющий вывести все данные из таблицы, например:

Подстановка user-agent $tools.ua.*#

Данный инструмент предназначен для подмены user-agent в парсерах, которые его используют (например, Net::HTTPNet::HTTP). Существует два метода:

  • $tools.ua.list() - содержит полный список доступных юзерагентов.
  • $tools.ua.random() - выводит случайный из доступных юзерагентов.

Пример использования:#

$tools.ua.random()

tip

Cписок всех user-agent хранится в файле files/tools/user-agents.txt, который при необходимости можно редактировать.

important

При использовании данного инструмента для параметра User agent в парсерах, необходимо указывать его явно:

Поддержка JS в tools $tools.js.*#

Данный инструмент позволяет добавлять свои JS функции и использовать их прямо в шаблонизаторе. Также поддерживается использование Node.js модулей. Функции добавляются в Инструменты -> Редактор JavaScript (на скриншоте ниже добавлена функция Tools.prototype.sum(a, b)):

$tools.js.sum_1

Пример использования созданной функции:

$tools.js.sum_1

Работа с base64 $tools.base64.*#

Данный инструмент позволяет работать с base64 прямо в парсере. Этот инструмент имеет 2 метода:

  • $tools.base64.encode() - кодирует текст в base64
  • $tools.base64.decode() - декодирует base64 строку в текст

Пример использования:#

$tools.base64

Справочник данных $tools.data.*#

Этот инструмент - по сути объект, в котором содержится большое количество предустановленной информации - языки, регионы, домены для поисковых систем и т.п. Полный перечень элементов (может меняться в будущем):

"YandexWordStatRegions", "TopDomains", "CountryCodes", "YahooLocalDomains", "GoogleDomains", "BingTranslatorLangs", "Top1000Words", "GoogleLangs", "GoogleInterfaceLangs", "EnglishMonths", "GoogleTrendsCountries"

Каждый из этих элементов представляет собой массив или хэш данных, посмотреть содержимое можно выводя данные, например, в JSON:

Хранилище данных в памяти $tools.memory.*#

Простое key/value хранилище в памяти, общее для всех заданий, API запросов и т.д., обнуляется при перезапуске парсера. Существует три метода:

  • [% tools.memory.set(key, value) %] - устанавливает значение value для ключа key
  • [% tools.memory.get(key) %] - возвращает значение соответствующее ключу key
  • [% tools.memory.delete(key) %] - удаляет из памяти запись по ключу key

Получение информации о версии A-Parser $tools.aparser.version()#

Этот инструмент позволяет получить информацию о версии A-Parser и вывести ее в результат.

Пример использования:#

Метод btoa

Метод btoa предназначен для кодирования строки, указанной в качестве параметра в ACSII строку base-64, которая будет представлена с помощью 64 символов: A-Z, a-z, 0-9, +, / и =. Кодирование Base64 может используется для визуального скрытия данных от пользователя, для передачи информации и др. Принцип работы метода заключается в том, что он сначала преобразуют строку в последовательность бит, которые затем на основе схемы base-64 преобразуются в закодированную строку.

Кодирование строки с помощью метода JavaScript btoa()

Синтаксис метода:

window.btoa(Параметр_1);

Метод btoa() содержит один обязательный параметр - это строка которую нужно закодировать.

Например, закодировать строку в base-64:

var txt = "I Love JavaScript!";
var result = "Исходная строка: " + txt;
result += "
"; var encode = window.btoa(txt); var result = "Закодированная строка: " + encode; console.log(result);

Примечание: Если в качестве параметра метода window.btoa() будет использоваться строка Unicode, то может произойти исключение, из-за того что данная строка может содержать символы вне диапазона.

Чтобы этого не допустить, можно использовать следующие функции:

//кодирование строки Unicode в base-64
function utf8_to_b64(str) {
  return window.btoa(unescape(encodeURIComponenet(str)));
}
//декодирование строки из base-64 в Unicode
function b64_to_utf8(str) {
  return decodeURIComponent(escape(window.atob(str)));
}