WebView: Text-based Browser

...
  • Жаль, что в C-- нет регулярных выражений, но я прикреплю код на PHP. Этот код заменяет неизвестный для текстового браузера код на понятный ему.

    Code: Select all

    ...
    
    Нашёл аналог на Си! Вот функция:

    Code: Select all

    char *str_replace(char *orig, char *rep, char *str)
    {
    static char buffer[4096];
    char *p;
    if(! (p = strstr(str, orig)))
    return str;
    strncpy(buffer, str, p - str);
    buffer[p - str] = '\0';
    sprintf(buffer + (p - str), "%s%s", rep, p + strlen(orig));
    return buffer;
    }
    
    И сам код-заменятель:

    Code: Select all

    str = str_replace("<caption", "<center", str);
    str = str_replace("caption>", "center>", str);
    str = str_replace("<address", "<i", str);
    str = str_replace("address>", "i>", str);
    str = str_replace("<footer", "<hr><footer", str);
    str = str_replace("header>", "header><hr>", str);	
    str = str_replace("<caption", "<center", str);
    str = str_replace("caption>", "center>", str);
    str = str_replace("<basefont", "<font", str);
    str = str_replace("basefont>", "font>", str);
    str = str_replace("<details", "<a href=$1>Show all datails</a> <condition show_if=1", str);
    str = str_replace("details>", "condition>", str);
    str = str_replace("<plaintext", "<pre", str);
    str = str_replace("plaintext>", "pre>", str);
    str = str_replace("<wbr", "<span", str);
    str = str_replace("<xmp", "<pre", str);
    str = str_replace("xmp>", "pre>", str);		
    
    Я предлагаю перед тем как TWB будет браться за вывод этого кода пропускать HTML-код через этот фильтр!
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • У меня вопрос: возможно ли то, что я написал, или в С-- есть какие-то особенности?
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • Какие теги тебе нужны ну позарез? :)
    Из хаоса в космос
  • По моему код прозрачный. По сути толк только вот здесь:

    Code: Select all

    str = str_replace("<details", "<a href=$1>Show all datails</a> <condition show_if=1", str);
    str = str_replace("details>", "condition>", str);
    Чисто теоретически код должен переводить <details> на Condition Script. Меня интересует: это возможно или нет?
    Так что мне нужен тег details.
    P. S. Извините за навязчивость!
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • Проблема в том, что чейчас кондишн может быть только один.
    Т.е. не может быть развёрнуто два <details> одновременно. Это требует написания новой логики.

    > str = str_replace("<details", "<a href=$1>Show all datails</a> <condition show_if=1", str);
    > str = str_replace("details>", "condition>", str);
    можно сделать счёткик, который будет делать в "<a href=$1.." увеличивать на 1, но что если в тексте попадётся такая же цифра? В общем, на данный момент это увы слишком сложно, а у меня на носу переделка просмоторщика HTML в настоящий браузер.
    Из хаоса в космос
  • Что все condition сразу это так и задумывалось как упрощённая реализация. Это временное решение. Просто если не делать так и надеяться на лучше в будущем, то можно просто забыть об этом. Если можете лучше - делайте. Я писал код under my mind (как понятно).
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • Ночью сделал фикс, что курсор не превращался в руку при наведении на картинку-ссылку. Сегодня вечером залью.
    Из хаоса в космос
  • Leency wrote:Ночью сделал фикс, что курсор не превращался в руку при наведении на картинку-ссылку. Сегодня вечером залью.
    И еще при наведении на ссылки-картинки появляется чёрная полоска под картинкой. Это нормально?
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • Не нормально.
    Залил исправления, проверь теперь.
    Из хаоса в космос
  • Почему-то meta descriptions отображаются на странице как обычный текст, картинки не отображаются и прекратили поддерживаться относительные пути!
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • - при нажатии на иконку домашней страницы вылет с сообщением "Ошибка: не поддерживаемая инструкция процессора"
    - попытке перейти на любой интернет адрес - вылет

    Тестировалось в VirtualBox 4.3.6
    to infinity and beyond
  • Должно быть исправлено.
    Из хаоса в космос
  • Leency wrote:Должно быть исправлено.
    Первую проблему решило частично, теперь в обоих случаях просто вылетает
    Сообщение на доске:
    Spoiler:ERROR loading libraries
    parsing URL: http://kolibrios.org/en/index.htm
    hostname: kolibrios.org
    pageaddr: /en/index.htm
    port: 80
    Resolving hostname
    to infinity and beyond
  • Hidnplayr will provide fix for this problem soon.
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 0 guests