⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlhelper.hpp

📁 ncbi源码
💻 HPP
字号:
/* * =========================================================================== * PRODUCTION $Log: htmlhelper.hpp,v $ * PRODUCTION Revision 1000.3  2004/04/01 21:01:51  gouriano * PRODUCTION PRODUCTION: UPGRADED [CORE_002] Dev-tree R1.13 * PRODUCTION * =========================================================================== */#ifndef HTML___HTMLHELPER__HPP#define HTML___HTMLHELPER__HPP/*  $Id: htmlhelper.hpp,v 1000.3 2004/04/01 21:01:51 gouriano Exp $ * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software/database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's official duties as a United States Government employee and *  thus cannot be copyrighted.  This software/database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== * * Author: Eugene Vasilchenko * *//// @file htmlhelper.hpp/// HTML library helper classes and functions.#include <corelib/ncbistd.hpp>#include <map>#include <set>#include <list>#include <algorithm>/** @addtogroup HTMLHelper * * @{ */BEGIN_NCBI_SCOPEclass CNCBINode;class CHTML_form;// Utility functionsclass NCBI_XHTML_EXPORT CIDs : public list<int>{public:    CIDs(void);    ~CIDs(void);    // If 'id' is not in list, return false.    // If 'id' in list - return true and remove 'id' from list.    bool ExtractID(int id);    // Add 'id' to list.    void AddID(int id);    // Return number of ids in list.    size_t CountIDs(void) const;    // Decode id list from text representation.    void Decode(const string& str);    // Encode id list to text representation.    string Encode(void) const;private:    // Decoder helpers.    int GetNumber(const string& str);    int AddID(char cmd, int id, int number);    };class NCBI_XHTML_EXPORT CHTMLHelper{public:    // HTML encodes a string. E.g. &lt;.    static string HTMLEncode(const string& str);    // Strip all HTML code from a string.    static string StripHTML(const string& str);    // Strip all HTML tags from a string.    static string StripTags(const string& str);    // Strip all named and numeric character entities from a string.    static string StripSpecialChars(const string& str);    typedef set<int> TIDList;    typedef multimap<string, string> TCgiEntries;    // Load ID list from CGI request.    // Args:    //   ids            - resulting ID list    //   values         - CGI values    //   hiddenPrefix   - prefix for hidden values names    //   checkboxPrefix - prefix for checkboxes names    static void LoadIDList(TIDList& ids,                           const TCgiEntries& values,                           const string& hiddenPrefix,                           const string& checkboxPrefix);    // Store ID list to HTML form.    // Args:    //   form           - HTML form to fill    //   ids            - ID list    //   hiddenPrefix   - prefix for hidden values names    //   checkboxPrefix - prefix for checkboxes names    static void StoreIDList(CHTML_form* form,                            const TIDList& ids,                            const string& hiddenPrefix,                            const string& checkboxPrefix);    // Platform-dependent newline symbol.    // Default value is "\n" as in UNIX.    // Application program is to set it as correct.    static void SetNL( const string& nl )        { sm_newline = nl; }        static const string& GetNL(void)        { return sm_newline; }protected:    static string sm_newline;};#include <html/htmlhelper.inl>END_NCBI_SCOPE/* @} *//* * =========================================================================== * $Log: htmlhelper.hpp,v $ * Revision 1000.3  2004/04/01 21:01:51  gouriano * PRODUCTION: UPGRADED [CORE_002] Dev-tree R1.13 * * Revision 1.13  2004/02/02 14:18:33  ivanov * Added CHTMLHelper::StripHTML(), StripSpecialChars() * * Revision 1.12  2003/11/05 18:41:06  dicuccio * Added export specifiers * * Revision 1.11  2003/11/03 17:02:53  ivanov * Some formal code rearrangement. Move log to end. * * Revision 1.10  2003/04/25 13:45:28  siyan * Added doxygen groupings * * Revision 1.9  2002/09/25 01:24:29  dicuccio * Added CHTMLHelper::StripTags() - strips HTML comments and tags from any * string * * Revision 1.8  2000/10/13 19:54:52  vasilche * Fixed warnings on 64 bit compiler. * * Revision 1.7  2000/01/24 14:21:28  vasilche * Fixed missing find() declaration. * * Revision 1.6  2000/01/21 20:06:53  pubmed * Volodya: support of non-existing documents for Sequences * * Revision 1.5  1999/05/20 16:49:12  pubmed * Changes for SaveAsText: all Print() methods get mode parameter that can be HTML or PlainText * * Revision 1.4  1999/03/15 19:57:55  vasilche * CIDs now use set instead of map. * * Revision 1.3  1999/01/22 17:46:48  vasilche * Fixed/cleaned encoding/decoding. * Encoded string now shorter. * * Revision 1.2  1999/01/15 19:46:18  vasilche * Added CIDs class to hold sorted list of IDs. * * Revision 1.1  1999/01/07 16:41:54  vasilche * CHTMLHelper moved to separate file. * TagNames of CHTML classes ara available via s_GetTagName() static * method. * Input tag types ara available via s_GetInputType() static method. * Initial selected database added to CQueryBox. * Background colors added to CPagerBax & CSmallPagerBox. * * =========================================================================== */#endif  /* HTMLHELPER__HPP */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -