1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
<HTML>
<HEAD>
<TITLE>class toHtml</TITLE>
<META NAME="Generator" CONTENT="KDOC ">
</HEAD>
<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
<TABLE WIDTH="100%" BORDER="0">
<TR>
<TD>
<TABLE BORDER="0">
<TR><TD valign="top" align="left" cellspacing="10">
<h1>class toHtml</h1>
</TD>
<TD valign="top" align="right" colspan="1"> A small and hopefully pretty efficient parser of HTML tags. <small><A HREF="#longdesc">More...</A></small></TD></TR>
</TABLE>
<HR>
<TABLE BORDER="0">
<TR><TH>Definition</TH><TD><code>#include <<A HREF="tohtml_h.html">tohtml.h</A>></code></TD></TR>
<TR><TH><A HREF="full-list-toHtml.html">List of all Methods</A></TH></TR>
</TABLE>
</TD>
<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</A></small></TD></TR>
<TR><TD><small><A HREF="header-list.html">Files</A></small></TD></TR>
<TR><TD><small><A HREF="all-globals.html">Globals</A></small></TD></TR>
<TR><TD><small><A HREF="hier.html">Hierarchy</A></small></TD></TR>
<TR><TD><small><A HREF="index.html">Index</A></small></TD></TR>
</TABLE></TD></TR></TABLE>
<h4>Public Methods</h4><ul><LI> <b><A HREF="#ref12">toHtml</A></b> (const <A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> &data)
</LI>
<LI> <b><A HREF="#ref13">~toHtml</A></b> ()
</LI>
<LI>void <b><A HREF="#ref14">nextToken</A></b> (void)
</LI>
<LI>const char * <b><A HREF="#ref15">value</A></b> (const <A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> &name)
</LI>
<LI>bool <b><A HREF="#ref16">isTag</A></b> (void)
</LI>
<LI>bool <b><A HREF="#ref17">open</A></b> (void)
</LI>
<LI><A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> <b><A HREF="#ref18">text</A></b> (void)
</LI>
<LI>const char * <b><A HREF="#ref19">tag</A></b> (void)
</LI>
<LI>bool <b><A HREF="#ref20">eof</A></b> (void)
</LI>
</ul><h4>Public Static Methods</h4><ul><LI>static bool <b><A HREF="#ref21">search</A></b> (const <A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> &data,const <A HREF="http://doc.trolltech.com/qstring.html">QString</A> &str)
</LI>
<LI>static <A HREF="http://doc.trolltech.com/qstring.html">QString</A> <b><A HREF="#ref22">escape</A></b> (const <A HREF="http://doc.trolltech.com/qstring.html">QString</A> &html)
</LI>
</ul><HR><H2><A NAME="longdesc">Detailed Description</A></H2><p> A small and hopefully pretty efficient parser of HTML tags. No attempt what
so ever is made trying to check the validity of the text so if you forget
a closing > you will probably end up with an exception.
</p>
<p> A simple traverser counting the number of paragraphs might look like this.
</p>
<p></p><table border="0" width="100%">
<tr>
<td bgcolor="#BEEAE0">
<pre>
int paragraphs++;
<A HREF="toHtml.html#toHtml">toHtml</A> count("Paragraphs<P>And some</P><P>Dobedoo");
while(!count.<A HREF="toHtml.html#eof">eof</A>()) {
count.<A HREF="toHtml.html#nextToken">nextToken</A>();
if (count.<A HREF="toHtml.html#isTag">isTag</A>()&&count.<A HREF="toHtml.html#open">open</A>()&&<A HREF="http://doc.trolltech.com/qstring.html">QString</A>(count.<A HREF="toHtml.html#tag">tag</A>())=="p")
paragraphs++;
}
</pre>
</td></tr>
</table> <p>
</p>
<A NAME="toHtml"></A><A NAME="ref12"></A><table width="100%"><tr bgcolor="#eeeeee"><td> <strong>toHtml</strong> (const <A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> &data)
<br></td><td align="right"><h3><strong>toHtml</strong></h3></td></tr></table><p></p><p> Create a HTML parser.
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>data</i></TD><TD align="left" valign="top">Data to parse.
</TD></TR>
</TABLE></P>
<A NAME="~toHtml"></A><A NAME="ref13"></A><table width="100%"><tr bgcolor="#eeeeee"><td> <strong>~toHtml</strong> ()
<br></td><td align="right"><h3><strong>~toHtml</strong></h3></td></tr></table><p></p><A NAME="nextToken"></A><A NAME="ref14"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>nextToken</strong> (void)
<br></td><td align="right"><h3><strong>nextToken</strong></h3></td></tr></table><p></p><p> Read the next token which can be either a open tag, close tag or text.
</p>
<p> Observe that nextToken destroys the data it has parsed, so you
can't search it later. Searhing must be done on an new toHtml,
several serches can be made though on the same toHtml.
</p>
<A NAME="value"></A><A NAME="ref15"></A><table width="100%"><tr bgcolor="#eeeeee"><td>const char * <strong>value</strong> (const <A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> &name)
<br></td><td align="right"><h3><strong>value</strong></h3></td></tr></table><p></p><p> Get value of a qualifier.
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>name</i></TD><TD align="left" valign="top">Name of qualifier in lowercase.
</TD></TR>
</TABLE></P>
<p><b>Returns</b>: Value of qualifier or NULL.
</p>
<A NAME="isTag"></A><A NAME="ref16"></A><table width="100%"><tr bgcolor="#eeeeee"><td>bool <strong>isTag</strong> (void)
<br></td><td align="right"><h3><strong>isTag</strong></h3></td></tr></table><p></p><p> Return true if current token is a tag.
</p>
<p><b>Returns</b>: True if tag.
</p>
<A NAME="open"></A><A NAME="ref17"></A><table width="100%"><tr bgcolor="#eeeeee"><td>bool <strong>open</strong> (void)
<br></td><td align="right"><h3><strong>open</strong></h3></td></tr></table><p></p><p> Return true if open tag. Only valid if <A HREF="toHtml.html#isTag">isTag</A> is true.
</p>
<p><b>Returns</b>: True if open tag.
</p>
<A NAME="text"></A><A NAME="ref18"></A><table width="100%"><tr bgcolor="#eeeeee"><td><A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> <strong>text</strong> (void)
<br></td><td align="right"><h3><strong>text</strong></h3></td></tr></table><p></p><p> Get bread text if available. Expands &# characters are expanded before returned.
Only valid if <A HREF="toHtml.html#isTag">isTag</A> returns false.
</p>
<p><b>Returns</b>: The parsed text.
</p>
<A NAME="tag"></A><A NAME="ref19"></A><table width="100%"><tr bgcolor="#eeeeee"><td>const char * <strong>tag</strong> (void)
<br></td><td align="right"><h3><strong>tag</strong></h3></td></tr></table><p></p><p> Get name of tag in lowercase. Only valid if <A HREF="toHtml.html#isTag">isTag</A> returns true.
</p>
<p><b>Returns</b>: Name of tag (Excluding / if close tag).
</p>
<A NAME="eof"></A><A NAME="ref20"></A><table width="100%"><tr bgcolor="#eeeeee"><td>bool <strong>eof</strong> (void)
<br></td><td align="right"><h3><strong>eof</strong></h3></td></tr></table><p></p><p> Check if at end of data
</p>
<p><b>Returns</b>: True if at end of data.
</p>
<A NAME="search"></A><A NAME="ref21"></A><table width="100%"><tr bgcolor="#eeeeee"><td> bool <strong>search</strong> (const <A HREF="http://doc.trolltech.com/qcstring.html">QCString</A> &data,const <A HREF="http://doc.trolltech.com/qstring.html">QString</A> &str)
<br></td><td align="right"><h3><strong>search</strong></h3></td></tr></table><p> <small>[static]</small></p><p> Search data for a simple text.
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>data</i></TD><TD align="left" valign="top">Data to search.
</TD></TR>
<TR><TD align="left" valign="top"><i>str</i></TD><TD align="left" valign="top">Substring to search for in data.
</TD></TR>
</TABLE></P>
<A NAME="escape"></A><A NAME="ref22"></A><table width="100%"><tr bgcolor="#eeeeee"><td> <A HREF="http://doc.trolltech.com/qstring.html">QString</A> <strong>escape</strong> (const <A HREF="http://doc.trolltech.com/qstring.html">QString</A> &html)
<br></td><td align="right"><h3><strong>escape</strong></h3></td></tr></table><p> <small>[static]</small></p><p> Escape text to be HTML.
</p>
<HR>
<table>
</table>
</BODY>
</HTML>
|