<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Boost: HTML Template parsen-&amp;gt;regex_merge]]></title><description><![CDATA[<p>Halloli.</p>
<p>Ich versuche mich gerade mit boost.<br />
Und zwar möchte ich ein Templatesystem aufbauen.<br />
ich habe verschiedene fertige HTML Dateien in denen ich Platzhalter habe:</p>
<pre><code>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
    &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;title&gt;%title%&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

%text%
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>Die Platzhalter %title% und %text% ersetze ich nahher im Programm durch Text.<br />
Das sieht bisher so aus:</p>
<pre><code>boost::regex tag_title(&quot;(%title%)&quot;, boost::regbase::normal | boost::regbase::icase);
	boost::regex tag_text(&quot;(%text%)&quot;, boost::regbase::normal | boost::regbase::icase);

	CAusgabe as;
	ifstream is;
	std::string str_input,s;

is.open(&quot;c:\\www\\images\\pephtml\\pepindex.tpl&quot;,ios::in | ios::out);

		if(is.good())
		{
			while (!is.eof())          // Solange noch Daten vorliegen
			{
				getline(is, s);        // Lese eine Zeile			
				str_input.append(s);      
			}			
		}
		else
		{
			//Fehlerbehandlung
		}

	is.close();

str_input= boost::regex_merge( str_input, tag_title, &quot;Text für Title&quot;);
str_input= boost::regex_merge( str_input, tag_text, &quot;Text für den Hauptteil&quot;);

as.Write_Client(pECB_,str_input);
</code></pre>
<p>Mit WriteClient schicke ich das dann an der Browser.<br />
Funktioniert soweit gut.</p>
<p>Nur habe ich das Problem, daß die leerzeichen und CR/LF ZEichen nicht mit eingelesen werden, bzw. sie werden nicht ausgegeben.<br />
Der HTML Queltext ist nachher alles in einer Zeile.</p>
<p>Liegt das irgendwie an boost?</p>
<p>Und 2.</p>
<p>Ich ersetze ja bisher 2 Platzhalter einzeln.<br />
Was wenn ich malk 50 Platzhalter in einer HTML Datei habe, dann muss ich das 50 mal ersetzen=<br />
Geht das irgendwie einfacher?</p>
<p>3. gibts irgendeine Deutsche Doku zuz boost?<br />
Das ist zwar ganz schön auf English aber auf dauer anstrengend:-)</p>
<p>Vielen Dank für anregungen, Mondmann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/177338/boost-html-template-parsen-gt-regex_merge</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 00:37:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/177338.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Mar 2007 12:28:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Boost: HTML Template parsen-&amp;gt;regex_merge on Fri, 30 Mar 2007 12:35:10 GMT]]></title><description><![CDATA[<p>Halloli.</p>
<p>Ich versuche mich gerade mit boost.<br />
Und zwar möchte ich ein Templatesystem aufbauen.<br />
ich habe verschiedene fertige HTML Dateien in denen ich Platzhalter habe:</p>
<pre><code>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
    &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;title&gt;%title%&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

%text%
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>Die Platzhalter %title% und %text% ersetze ich nahher im Programm durch Text.<br />
Das sieht bisher so aus:</p>
<pre><code>boost::regex tag_title(&quot;(%title%)&quot;, boost::regbase::normal | boost::regbase::icase);
	boost::regex tag_text(&quot;(%text%)&quot;, boost::regbase::normal | boost::regbase::icase);

	CAusgabe as;
	ifstream is;
	std::string str_input,s;

is.open(&quot;c:\\www\\images\\pephtml\\pepindex.tpl&quot;,ios::in | ios::out);

		if(is.good())
		{
			while (!is.eof())          // Solange noch Daten vorliegen
			{
				getline(is, s);        // Lese eine Zeile			
				str_input.append(s);      
			}			
		}
		else
		{
			//Fehlerbehandlung
		}

	is.close();

str_input= boost::regex_merge( str_input, tag_title, &quot;Text für Title&quot;);
str_input= boost::regex_merge( str_input, tag_text, &quot;Text für den Hauptteil&quot;);

as.Write_Client(pECB_,str_input);
</code></pre>
<p>Mit WriteClient schicke ich das dann an der Browser.<br />
Funktioniert soweit gut.</p>
<p>Nur habe ich das Problem, daß die leerzeichen und CR/LF ZEichen nicht mit eingelesen werden, bzw. sie werden nicht ausgegeben.<br />
Der HTML Queltext ist nachher alles in einer Zeile.</p>
<p>Liegt das irgendwie an boost?</p>
<p>Und 2.</p>
<p>Ich ersetze ja bisher 2 Platzhalter einzeln.<br />
Was wenn ich malk 50 Platzhalter in einer HTML Datei habe, dann muss ich das 50 mal ersetzen=<br />
Geht das irgendwie einfacher?</p>
<p>3. gibts irgendeine Deutsche Doku zuz boost?<br />
Das ist zwar ganz schön auf English aber auf dauer anstrengend:-)</p>
<p>Vielen Dank für anregungen, Mondmann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255965</guid><dc:creator><![CDATA[Mondmann]]></dc:creator><pubDate>Fri, 30 Mar 2007 12:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to Boost: HTML Template parsen-&amp;gt;regex_merge on Fri, 30 Mar 2007 15:55:10 GMT]]></title><description><![CDATA[<p>Das hat nichts mit Boost zu tun. Aber getline liest die Zeile /ohne/ \n!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256131</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 30 Mar 2007 15:55:10 GMT</pubDate></item><item><title><![CDATA[Reply to Boost: HTML Template parsen-&amp;gt;regex_merge on Fri, 30 Mar 2007 17:45:52 GMT]]></title><description><![CDATA[<p>achso...und was liest dann die Zeilen mit \n ein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256214</guid><dc:creator><![CDATA[Mondmann]]></dc:creator><pubDate>Fri, 30 Mar 2007 17:45:52 GMT</pubDate></item><item><title><![CDATA[Reply to Boost: HTML Template parsen-&amp;gt;regex_merge on Fri, 30 Mar 2007 20:21:18 GMT]]></title><description><![CDATA[<p>Füg doch einfach selber ein \n hinzu, nachdem du getline gemacht hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256294</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 30 Mar 2007 20:21:18 GMT</pubDate></item><item><title><![CDATA[Reply to Boost: HTML Template parsen-&amp;gt;regex_merge on Fri, 30 Mar 2007 20:33:16 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Füg doch einfach selber ein \n hinzu, nachdem du getline gemacht hast.</p>
</blockquote>
<p>Hm.aber es sind doch in einer Zeile auch noch Leerzeichen die auch nicht mit eingelesen werden.</p>
<p>Gibts denn nicht eine andere Funktion, eine mit der ich gleich die ganze datei einlesen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256301</guid><dc:creator><![CDATA[Mondmann]]></dc:creator><pubDate>Fri, 30 Mar 2007 20:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to Boost: HTML Template parsen-&amp;gt;regex_merge on Fri, 30 Mar 2007 20:56:55 GMT]]></title><description><![CDATA[<p>Mondmann schrieb:</p>
<blockquote>
<p>Artchi schrieb:</p>
<blockquote>
<p>Füg doch einfach selber ein \n hinzu, nachdem du getline gemacht hast.</p>
</blockquote>
<p>Hm.aber es sind doch in einer Zeile auch noch Leerzeichen die auch nicht mit eingelesen werden.</p>
<p>Gibts denn nicht eine andere Funktion, eine mit der ich gleich die ganze datei einlesen kann?</p>
</blockquote>
<p>Nicht so komfortabel. Du kannst die Datei mit get in ein char-Array einlesen und dann entweder damit arbeiten oder es einfach einem String zuweisen.</p>
<p>Bist du dir sicher, dass die leeren Zeilen nicht eingeleseen werden?! Probiers doch einfach mal wie Artchi es gesagt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256321</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 30 Mar 2007 20:56:55 GMT</pubDate></item><item><title><![CDATA[Reply to Boost: HTML Template parsen-&amp;gt;regex_merge on Wed, 20 Jun 2007 21:48:35 GMT]]></title><description><![CDATA[<p>ansonsten ersetze doch die freizeichen deines htmlcodes durch</p>
<pre><code>&amp;nbsp;
</code></pre>
<p>dies schreibt jedes mahl ein freizeichen ohne dabei lehrzeichen im html quellcode zu haben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310269</guid><dc:creator><![CDATA[Ascharan]]></dc:creator><pubDate>Wed, 20 Jun 2007 21:48:35 GMT</pubDate></item></channel></rss>