PandoraBox - вопросы и ответы + апдейты. Часть 2.

orka13
На сайте с 28.03.2011
Offline
102
#351
daymos:
конечно, в юзермакросах

Если я все верно понял, то хватит просто создать сколько угодно юзермокросов типа PROB1, PROB2…. с одинаковым содержанием, и использовать их в будущем. Но где это содержание взять? Я сам не наштопаю. Надеюсь, TopperHarley поделится кодом, когда вернется.

Продажи шаблона Google-Translate (Гугл Переводчик), скорость: 20 млн ключей/час, с прокси, без API. (http://zennolab.com/discussion/threads/prodazhi-shablona-google-translate.43684/) Переводит ключи, статьи, HTML+PHP файлы (целые сайты, доры) с сохранением верстки!
TopperHarley
На сайте с 24.03.2009
Offline
350
#352

using System;
using System.Text;
using System.Text.RegularExpressions;
namespace PandoraBox
{
public class Prob1Plugin : IPluginMacro
{
private Regex rProb1 = new Regex(@"{PROB1-(\d+)\%}(.*?){/PROB1}", RegexOptions.Compiled | RegexOptions.Singleline);

public string Execute(string template, PluginMacroArgs args)
{
template = rProb1.Replace(template, new MatchEvaluator(delegate(Match match)
{
int probability = Convert.ToInt32(match.Groups[1].Value);
int r = Rnd.Next(0, 1000);
if (r <= probability * 10) return match.Groups[2].Value;
return "";
}));
return template;
}
public ushort Level { get { return 10; } }
public String Name { get { return "Prob1Plugin"; } }
}
}
PandoraBox - генератор #1 ( https://pandoraboxx.ru ) :: ContentBox - Новый многопточный парсер текста,картинок,видео и т.д. ( https://pandoraboxx.ru/contentbox.php ) :: Конвертор шаблонов WP/DLE ( https://pandoraboxx.ru/templateconvertor.php )
N
На сайте с 15.11.2012
Offline
12
#353

Topper'ушка - дорогой ты мой человек, благодарствую за все мои выполненные просьбы и борьбу с багами в ProParser :) Последняя версия - огонь, наконец-то не виснет и парсит уже 4 суток без остановки.

Теперь ну ооочень надо его отдельно от пандоры сделать, т.к. оказалось, что они еще и одновременно не могут работать. Вот сижу 4 дня - ни шабы обкатать не могу, ни доры клепать...

TopperHarley
На сайте с 24.03.2009
Offline
350
#354
Nickmsk:
Теперь ну ооочень надо его отдельно от пандоры сделать, т.к. оказалось, что они еще и одновременно не могут работать. Вот сижу 4 дня - ни шабы обкатать не могу, ни доры клепать...

Могут. Запустить парсер можно из папки программы. Там лежит экзешник ProParser.exe

N
На сайте с 15.11.2012
Offline
12
#355

блин, надо было мне раньше написать... :) спасибо! ушел работать!!!

orka13
На сайте с 28.03.2011
Offline
102
#356

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

[|
Вариант 1
|
Вариант2
|]

И хотя текст на выходе тоже будет с переносами строк, мне было пофиг. Ведь браузер и так соединяет в финале все в одну троку, но он добавляет пробелы в местах переноса, а это иногда лишнее. Так что решил на основе недавних подсказок ТС сделать юзермакрос удаления пропусков, при условии, что в конце строки нет закрывающего тега «>», ну и плагин обрабатывает только HTML файл (проверка на содержание «html xmlns»).

using System;
using System.Text;
using System.Text.RegularExpressions;
namespace PandoraBox
{
public class OchistkaPerenosov : IPluginMacro
{
public string Execute(string template, PluginMacroArgs args)
{
if(template.Contains("html xmlns"))
return Regex.Replace(template, @"([^>])\r\n", "$1");
return template;
}
public ushort Level { get { return 10; } }
public String Name { get { return "OchistkaPerenosov"; } }
}
}

Проблема: регулярка не срабатывает полноценно, то есть находит разрывы, но не соединяет строки. В блокноте Notepad++ работает, а в коде, наверное, другой синтаксис нужен для объединения строк. Подправьте плиз.

Dos3
На сайте с 07.01.2011
Offline
363
#357

чёт ты не то вроде сделал, убрать пробелы в начале (template, @"^ +", "");

---------- Добавлено 29.04.2014 в 21:04 ----------

orka13:
а в коде, наверное, другой синтаксис нужен для объединения строк.

для обьединения в одну(нафига это нужно?) просто убрать \r\n или \n

orka13:
Ведь браузер и так соединяет в финале все в одну троку

ничего он не соединяет

orka13
На сайте с 28.03.2011
Offline
102
#358
Dos3:
чёт ты не то вроде сделал, убрать пробелы в начале (template, @"^ +", "");

---------- Добавлено 29.04.2014 в 21:04 ----------


для обьединения в одну(нафига это нужно?) просто убрать \r\n или \n

ничего он не соединяет

Вы наверное не совсем вникнули в суть. Если Пандора на выходе сделает код страницы таким:

<h1>Слово: 

еще много слов, но точки нет в конце, она в следующей строке
.</h1>

То пользователь в браузере увидит его таким (пробел лишний перед точкой в конце, так как перед ней был разрыв строк):

Слово: еще много слов, но точки нет в конце, она в следующей строке .
Dos3
На сайте с 07.01.2011
Offline
363
#359
orka13:
То пользователь в браузере увидит его таким (пробел лишний перед точкой в конце, так как перед ней был разрыв строк):

тогда не проще ли удалить разрыв строки перед точками ?

хотя проще ставить макросы так чтоб не пришлось ничего удалять, ерундой имхо занимаетесь :)

orka13
На сайте с 28.03.2011
Offline
102
#360
Dos3:
тогда не проще ли удалить разрыв строки перед точками ?

Да посмотрите внимательней на мою регулярку – она же удаляет разрыв как раз в тех местах где нет закрывающего HTML тега «>», тол есть во всех «косяках с разрывами строк», которые я наделал макросами.

Dos3:
хотя проще ставить макросы так чтоб не пришлось ничего удалять, ерундой имхо занимаетесь :)

[|variant1|variant2|[|varian3-1|variant3-2|variant3-3|variant3-4]|]

Вот вам пример несложного макроса с вариантами первого и второго уровня вложенности. В от только у меня обычно посложнее, на целую страницу собираются. И намного удобнее в будущем правки вносить, когда хотя бы родительские варианты расположены с новой строки.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий