荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (FAQ), 信区: InstallBBS
标  题: Re: 过滤彩色标题(转载)
发信站: 荔园晨风BBS站 (Thu Dec 13 12:44:06 2001), 转信

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjksam@smth.org 所发表 】
发信人: Luther.bbs@apue.dhs.org (萧秋水), 信区: BBSMan_Dev
标  题: Re: 过滤彩色标题(转载)
发信站: APUE (Mon Dec 10 21:11:13 2001)
转信站: SMTH!zixia.net!APUE

转信站: APUE!zixia.net!Shanty

万一source超过 500  呢? xixi

我也写过一个类似函数:在count.c中有

/* ------------------------------------------------ */
/* Strip the ansi Code                              */
/* ------------------------------------------------ */
void
strip_ansi(src)
  char *src;
{
  register int ch, ansi;
  char *dst;

  dst = src;
  ansi = 0;
  for (;;)
  {
    ch = *src++;
    if (ch == '\0' || ch == '\r' || ch == '\n')
      break;

    if (ch == 27)
    {
      ansi = 1;
    }
    else if (ansi)
    {
      if (!strchr("[01234567;", ch))
        ansi = 0;
    }
    else
    {
      *dst++ = ch;
    }
  }
  *dst = '\0';
}



※ 引述《flyriver@happynet.org (忧郁的飞流直下)》之铭言:
> receive_article.c 中加入一个函数 my_ansi_filter(),我把它从 FB2K 里面
> 抽出来的,稍微改了一下。
> void my_ansi_filter(char *source)
> {
>         char result[500];
>         int  i, flag = 0, loc=0;
>         int len;
>         len = strlen(source);
>         for ( i = 0 ; i < len ; i++ )
>         {
>             if ( source[i] == '\x1B' ) {
>                     flag = 1;
>                     continue;
>             } else if ( flag == 1 && isalpha(source[i]) ) {
>                     flag = 0;
>                     continue;
>             } else if ( flag == 1 ) {
>                     continue;
>             } else {
>                     result[loc++]=source[i];
>             }
>         }
>         result[loc]='\0';
>         strncpy(source, result, loc+1);
> }
> 然后修改 post_article() 函数,在
>     str_decode(conv_buf,SUBJECT);
> 之后,加入一句
>     my_ansi_filter(conv_buf);
> 保存 receive_article.c 文件。然后重新编译和安装。
> 这样改动之后只是过滤文章列表的彩色标题,文章内容里面的没有过滤掉,
> 但已经不影响阅读了。

--
                                                    Userid: hightman
                                                    E-mail: hightman@x263.net
--
※ Origin: 笑 书 亭 <bbs.dot66.net>
◆ From: 10.14.61.157
--
※ 转载:·UNIX编程 apue.dhs.org·[FROM: 166.111.168.8]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店