Try using "Template" action and construct your text with hyerlinks than paste it to page.
Other option is to create simple LOCAL html page somewhere on your hard disk with
desired text and links, than open that local html page in another tab in BAS and than copy
from that tab to the tab where you are working.
Перевести строку в юникод
-
Нужна функция или метод которым можно привести строку регулярки к виду, используемому в коде BAS.
То есть из этого:
<h1\sitemprop="name">([\s\S]+?)</h1>Должно получиться это:
\u003ch1\u005csitemprop=\u0022name\u0022\u003e([\u005cs\u005cS]+?)\u003c/h1\u003eПерепробовал множество функций, ничего не помогает. Так, например, escape() и encodeURIComponent() выдают следующую строку:
%3Ch1%25sitemprop%3D%22name%22%3E%28%5B%25s%25S%5D+%3F%29%3C/h1%3EА мне под мои задачи надо именно как в BAS:
\u003ch1\u005csitemprop=\u0022name\u0022\u003e([\u005cs\u005cS]+?)\u003c/h1\u003e -
@pragmatik Напишете свою функцию которая будет заменять все символы на юникод. Мне чето лень писать )
-
@denis_krsk а как называется этот тип кодировки, юникодов же несколько (utf-8, utf-16 и т.д.) надо хоть знать как гуглить чтоб понимать что на что менять :)
А тут вообще такой формат, с которым я не встречался раньше
\u003ch1\u005csitemprop=\u0022name\u0022\u003e([\u005cs\u005cS]+?)\u003c/h1\u003e -
@pragmatik Эх.. что-то типо того
var str='<h1\sitemprop="name">([\s\S]+?)</h1>'; var str =str.replace(/[А-я<>\"\\]/g,function(a){ return "\\u" + ('000' +a.charCodeAt(0).toString(16)).substr(-4); }); log(str) -
@pragmatik Ага, почти прав. Только в том варианте символы которые не надо пероводить переводило тоже.
-
@pragmatik Я википедию читал, все вроде понятно. А что переводить, это уже надо самому смотреть.
-
@denis_krsk для моих дел оказалось достаточно функции
function string_as_unicode_escape(str){ return str.split("").map(function(s){ return "\\u"+("0000" + s.charCodeAt(0).toString(16)).slice(-4); }).join(""); }Несмотря на то, что она переводит в другие символы, БАС и их прекрасно читает, и такие строки удаётся подсунуть ему в коде в качестве регулярки, парсит не хуже.
-
@pragmatik Я что-то не пойму зачем БАСу в таком виде пихать регулярку. Он прекрасно работает без всяких преобразований.
-
@denis_krsk только вот если ты хочешь вводить регулярку из ресурса тебе придётся задействовать код, причём не только код, а ещё и строчку в eval. Потому что просто подставить в код регулярку - не проканает, и точно так же не проканает вставлять эту регулярку в качестве переменной в экшен.
У меня была задача сделать универсальный парсер где регулярка вводится в ресурс. Вот сделал. Осталось с экспортом базы в csv разобраться.