<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Peruns Weblog &#187; PHP-JS</title>
	<atom:link href="http://www.perun.net/kategorie/php-js/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.perun.net</link>
	<description>Webwork, WordPress und Internet</description>
	<pubDate>Sun, 30 Nov 2008 19:28:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>de</language>
			<item>
		<title>Homer Simpson macht CSS</title>
		<link>http://www.perun.net/2008/05/06/homer-simpson-macht-css/</link>
		<comments>http://www.perun.net/2008/05/06/homer-simpson-macht-css/#comments</comments>
		<pubDate>Tue, 06 May 2008 06:20:39 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[HTML-CSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[css-tipps]]></category>

		<guid isPermaLink="false">http://www.perun.net/?p=1135</guid>
		<description><![CDATA[ Was man mit CSS alles machen kann zeigt die Demo von Roman Cortes. Er hat mit jede Menge div-Elementen und CSS das Portrait von Homer Simpson gezeichnet. Einfach mal in den Quelltext schauen.
Ned Batchelder hat die Demo erweitert und daraus mit ein bisschen jQuery eine Animation erstellt.
Vielen Dank an Sahanya für den Hinweis.

	css, css-tipps
]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.romancortes.com/blog/homer-css/'><img src="http://www.perun.net/wp-content/uploads/2008/05/homer-simpson.png" alt="Homer Simpson mit CSS" title="Homer Simpson mit CSS" class="bild-rechts" /></a> Was man mit CSS alles machen kann zeigt die Demo von <a href="http://www.romancortes.com/blog/">Roman Cortes</a>. Er hat mit jede Menge div-Elementen und CSS das Portrait von <a href="http://www.romancortes.com/blog/homer-css/">Homer Simpson</a> gezeichnet. Einfach mal in den Quelltext schauen.</p>
<p><a href="http://nedbatchelder.com/blog/">Ned Batchelder</a> hat die Demo erweitert und daraus mit ein bisschen jQuery <a href="http://nedbatchelder.com/blog/200805/css_homer_animated.html">eine Animation</a> erstellt.</p>
<p>Vielen Dank an <a href="http://www.sahanya.perun.net">Sahanya</a> für den Hinweis.</p>

	<a href="http://www.perun.net/tag/css/" title="css" rel="tag">css</a>, <a href="http://www.perun.net/tag/css-tipps/" title="css-tipps" rel="tag">css-tipps</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2008/05/06/homer-simpson-macht-css/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NicEdit: ein kleiner WYSIWYG-Editor</title>
		<link>http://www.perun.net/2008/03/19/nicedit-ein-kleiner-wysiwyg-editor/</link>
		<comments>http://www.perun.net/2008/03/19/nicedit-ein-kleiner-wysiwyg-editor/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 00:55:49 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[webwork-tool]]></category>

		<guid isPermaLink="false">http://www.perun.net/2008/03/19/nicedit-ein-kleiner-wysiwyg-editor/</guid>
		<description><![CDATA[ NicEdit ist zwar ein kleiner, aber dennoch leistungsfähiger WYSIWYG-Editor. Das Einbauen ist sehr einfach, man muss das Javascript in seiner Website einbauen. Dazu benutzt man entweder den vorbereiteten Code-Schnippsel, dann wird auf das Javascript auf der Hersteller-Website zurückgegriffen oder man speichert es auf dem eigenen Webspace ab.
Wenn das Script eingebaut ist, werden alle Textbereiche [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.nicedit.com/' title='NicEdit in Aktion'><img src='http://www.perun.net/wp-content/uploads/2008/03/nicedit.png' alt='NicEdit in Aktion' class="bild-links" /></a> <a href="http://www.nicedit.com/">NicEdit</a> ist zwar ein kleiner, aber dennoch leistungsfähiger WYSIWYG-Editor. Das Einbauen ist sehr einfach, man muss das Javascript in seiner Website einbauen. Dazu benutzt man entweder den vorbereiteten Code-Schnippsel, dann wird auf das Javascript auf der Hersteller-Website zurückgegriffen oder man speichert es auf dem eigenen Webspace ab.</p>
<p>Wenn das Script eingebaut ist, werden alle Textbereiche bzw. Textboxen (<code>textarea</code>) durch einen bearbeiteten Bereich ersetzt. Doch das ist nicht alles. Im Prinzip kann man auch <code>div</code>-Blöcke oder Absätze mit so einem Editor beglücken, einfach <code>id="myNicPanel"</code>  zuweisen. </p>
<p>Man könnte jetzt stundenlang über die Vor- und Nachteile von WYSIWYG-Editoren diskutieren, ich persönlich arbeite auch innerhalb von WordPress lieber mit den Quciktags bzw. in der Code-Ansicht. Aber wenn WYSIWYG gewünscht wird, warum nicht auf schon eine vorgefertigte Lösung setzen.</p>
<p>Ich habe es vorhin hier im Weblog getestet und es funktioniert so weit gut. Es werden dann ca. 35 KB mehr geladen, aber die Qualität des ausgelieferten Codes ist OK.</p>
<p>Via: <a href="http://grochtdreis.de/weblog/">Jens</a> (ICQ)</p>

	<a href="http://www.perun.net/tag/webwork-tool/" title="webwork-tool" rel="tag">webwork-tool</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2008/03/19/nicedit-ein-kleiner-wysiwyg-editor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Druckvorschau, CSS und die Nutzer</title>
		<link>http://www.perun.net/2007/12/16/druckvorschau-css-und-die-nutzer/</link>
		<comments>http://www.perun.net/2007/12/16/druckvorschau-css-und-die-nutzer/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 17:04:05 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[HTML-CSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.perun.net/2007/12/16/druckvorschau-css-und-die-nutzer/</guid>
		<description><![CDATA[Seit sehr langer Zeit setze ich hier im Weblog eine CSS-Datei für die Druckausgabe, hier der Code aus dem entsprechenden Bereich: 
&#60;link rel="stylesheet" type="text/css" media="screen" href="style.css" /&#62;
&#60;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; media=&#034;print&#034; href=&#034;print.css&#034; /&#62;
Das Ergebnis ist jedem halbwegs erfahrenem Webworker klar. Der Browser liest beide CSS-Dateien ein [1] und je nach dem im welchen Modus man sich [...]]]></description>
			<content:encoded><![CDATA[<p>Seit sehr langer Zeit setze ich hier im Weblog eine CSS-Datei für die Druckausgabe, hier der Code aus dem entsprechenden Bereich: <img src="http://vg03.met.vgwort.de/na/a1676873965e8633cf1ac349895903" width="1" height="1" alt="" /></p>
<p><code>&#60;link rel="stylesheet" type="text/css" media="screen" href="style.css" /&#62;<br />
<strong>&#60;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; media=&#034;print&#034; href=&#034;print.css&#034; /&#62;</strong></code></p>
<p>Das Ergebnis ist jedem halbwegs erfahrenem Webworker klar. Der Browser liest beide CSS-Dateien ein [1] und je nach dem im welchen Modus man sich befindet (z.B. Druckvorschau) wird die entsprechende CSS-Datei eingesetzt. Somit kann man z.B. für die Druckausgabe eine optimiertes Dokument ausgeben lassen. Hier in diesem Weblog blende ich so gut wie alles was nicht direkt zum Inhalt gehört aus. Einfach mal im Browser die Druckvorschau aufrufen oder auf den <a href="?d=druckvorschau">Druckvorschau-Link</a> klicken. </p>
<p>Das Problem ist aber hierbei, dass viele Nutzer und unter anderem auch recht erfahrene Nutzer (da war ich vor einiger Zeit sehr überrascht) nicht davon ausgehen, dass es eine CSS-Datei für die Druckausgabe gibt und diese Lösung auch schlichtweg nicht kennen. Die Suchen krampfhaft nach einem &#034;Drucken&#034; oder &#034;Druckvorschau&#034;-Link auf der Website. Die entsprechenden Menüpunkte im Browser sind entweder völlig unbekannt oder einfach &#034;aus den Augen, aus dem Sinn&#034;.</p>
<p>Was kann man den nun tun? Eine sehr einfache Lösung ist es einen Javascript-Link einzubauen:</p>
<p><code>&#60;a href="javascript:window.print()"&#62;Drucken&#60;/a&#62;</code></p>
<p>Diese Lösung hat zwei Nachteile. Bei ausgeschaltetem Javascript ist nix &#8230; ist logisch. Zudem ruft dieser Link nur den Druck-Dialog auf. Das ist nicht sonderlich hilfreich, denn man will vorher auch sehen was man druckt. Eine <a href="http://www.drweb.de/trickkiste/tricks212.shtml">Javascript-Lösung</a> zum Aufruf der Druckvorschau gibt es, allerdings funktioniert es nur im Internet Explorer &#8230; also recht Witzlos. </p>
<p>Was könnte man jetzt machen um eine browserübergreifende &#034;Druckvorschau&#034; zu realisieren und für die sehr erfahrenen Nutzer die CSS-datei für die Druckausgabe unangetastet zu belassen:</p>
<p><code><strong>&#60;?php if (isset($_GET['d']) &#038;&#038; $_GET['d'] == &#039;druckvorschau&#039;) { ?&#62;<br />
&#60;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; media=&#034;screen&#034; href=&#034;print.css&#034; /&#62;<br />
&#60;?php } else { ?&#62;<br />
&#60;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; media=&#034;screen&#034; href=&#034;style.css&#034; /&#62;<br />
&#60;?php } ?&#62;</strong><br />
&#60;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; media=&#034;print&#034; href=&#034;print.css&#034; /&#62;</code></p>
<p>Der obere Codeschnipsel (gefunden bei <a href="http://www.maratz.com/blog/archives/2004/09/21/10-minutes-to-printer-friendly-page/">maratz</a>) realisiert genau das. Sollte der Schlüssels <code>d</code> des assoziativen Arrays <code>$_GET</code> den Wert <code>druckvorschau</code> haben, dann wird das Druck-CSS als das Haupt-CSS eingebunden. Ist dies nicht der Fall dann wird die &#034;normale&#034; CSS-Datei eingebunden. Hierbei handelt sich um kein Hexenwerk sondern es reicht folgenden Link an der entsprechenden Stelle einzubinden:</p>
<p><code>&lt;a href="?d=druckvorschau"&gt;Druckvorschau&lt;/a&gt;</code></p>
<p>Wenn man diesen Verweis aufruft bzw. anklickt, dann wird der Schlüsselwert-Paar <code>d=druckvorschau</code> abgegeben und die eigentliche CSS-Datei wird ersetzt und man bekommt im Browser das Dokument so zu sehen, wie es dann auch gedruckt werden soll.</p>
<p>Man könnte sich hier fragen, warum ich die print.css außerhalb der Abfrage noch einmal einbinde und zwar im <code>media="print"</code>-Modus. Das hat zwei Gründe. Zum einen für die Nutzer die direkt über den den Druck-Dialog oder die Druckvorschau des Browser gehen. Aber auch wenn man aus der &#034;künstlichen&#034; Druckvorschau druckt. In beiden Fällen sucht der Browser nach einer eventuellen CSS-Datei für die Druckausgabe. Würde ich diese nicht wie oben einbinden, würde der Browser das Dokument so drucken lassen als ob kein CSS eingebunden ist.</p>
<p>Das ist allerdings nicht der Sinn der Sache weil ich mit der print.css bestimmte Ziele verfolge u.a. nicht-relevante Bereiche ausblenden.</p>
<p>[1] Mir ist durchaus bewusst, dass man die CSS-Dateien schonender in Bezug auf Server-Abfragen einbinden kann.</p>

	<a href="http://www.perun.net/tag/usability/" title="usability" rel="tag">usability</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2007/12/16/druckvorschau-css-und-die-nutzer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bilder schöner präsentieren</title>
		<link>http://www.perun.net/2007/05/09/bilder-schoener-praesentieren/</link>
		<comments>http://www.perun.net/2007/05/09/bilder-schoener-praesentieren/#comments</comments>
		<pubDate>Wed, 09 May 2007 13:57:39 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[wordpress-erweiterung]]></category>

		<category><![CDATA[wordpress-plugins]]></category>

		<guid isPermaLink="false">http://www.perun.net/2007/05/09/bilder-schoener-praesentieren/</guid>
		<description><![CDATA[Eins der Themengebiete, vor dem ich mich bis neulich erfolgreich gedrückt habe, war das Thema Lightbox. Für die die es nicht wissen: es geht u.a. darum die Präsentation der Bilder durch Javascript zu verschönern und mit einfachen Mitteln rudimentäre Galerien mit netten Effekten zu realisieren. 
Als ich das Layout für Herr der Ringe-Weblog erstellt hatte, [...]]]></description>
			<content:encoded><![CDATA[<p>Eins der Themengebiete, vor dem ich mich bis neulich erfolgreich gedrückt habe, war das Thema <a href="http://www.google.com/search?ie=UTF-8&#038;oe=utf-8&#038;q=lightbox">Lightbox</a>. Für die die es nicht wissen: es geht u.a. darum die Präsentation der Bilder durch Javascript zu verschönern und mit einfachen Mitteln rudimentäre Galerien mit netten Effekten zu realisieren. </p>
<p>Als ich das Layout für <a href="http://www.herr-der-ringe.ws">Herr der Ringe-Weblog</a> erstellt hatte, habe ich mich entschlossen auch dieses Thema anzugehen, da ich das neue Weblog u.a. deswegen gestartet habe um mich <a href="http://www.perun.net/2007/03/26/neues-projekt-herr-der-ringe-weblog/">mit neuen Themen</a> zu beschäftigen. Für Wordpress-Blogs gibt es jede Menge Lightbox-Plugins und ich habe vier getestet. Am meisten hat mir aber <a href="http://www.gavinbarker.co.uk/gblog/?page_id=67">Thickbox</a> zugesagt, es ist schlank, leicht anzupassen und mein Bauch hat gesagt: &#034;nimm dieses Plugin&#034; :-).</p>
<p>Wie alle Plugins ist auch dieses einfach zu installieren: einfach den Ordner hochladen und das Plugin aktivieren. Die Anpassungen nimmt man entweder in der CSS-Datei (<em>thickbox.css</em>) vor oder in der Javascript-Datei (<em>thickbox.js</em>) wenn man z.B. die Bezeichnungen anpassen oder eindeutschen will.</p>
<p>Wenn man dann den Lightbox bei den Bildern einfügen will, dann muss man nur <code>class="thickbox"</code> einfügen:</p>
<p><code>&lt;a href="..." class="thickbox" title="..."&gt;&lt;img src="..." alt="..." /&gt;&lt;/a&gt;</code></p>
<p>Und schon hat man einen kleinen und netten JS-Effekt wenn man das Bild aufruft und der Wert bzw. der Inhalt des <code>title</code>-Attributs dient als die sichtbare Beschreibung des Bildes. Hat man mehrere Bilder zu einem Thema innerhalb des Beitrages und man will diese Bilder zu einer Art Galerie verknüpfen, dann schaut der Code folgendermaßen aus:</p>
<p><code>&lt;a href="..." class="thickbox" title="..." rel="galerie-name"&gt;&lt;img src="..." alt="..." /&gt;&lt;/a&gt;</code></p>
<p>Mit dem Attribut <code>rel</code> und dem eindeutigen Wert (der bei den zu verknüpfenenden Bildern identisch sein muss) erreicht man, dass das Skript die einzelnen Bilder durch ein &#034;Weiter&#034;- bzw. &#034;Zurück&#034;-Link verbindet. Hier zwei Beispiele: <a href="http://www.herr-der-ringe.ws/2007/04/was-mir-an-dem-spiel-gefaellt/#screenshots">Beispiel 1</a> und <a href="http://www.herr-der-ringe.ws/2007/05/istari-die-zauberer/">Beispiel 2</a></p>

	<a href="http://www.perun.net/tag/wordpress-erweiterung/" title="wordpress-erweiterung" rel="tag">wordpress-erweiterung</a>, <a href="http://www.perun.net/tag/wordpress-plugins/" title="wordpress-plugins" rel="tag">wordpress-plugins</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2007/05/09/bilder-schoener-praesentieren/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Javascript: Bibliotheken, Frameworks und IDE</title>
		<link>http://www.perun.net/2006/08/26/javascript-bibliotheken-frameworks-und-ide/</link>
		<comments>http://www.perun.net/2006/08/26/javascript-bibliotheken-frameworks-und-ide/#comments</comments>
		<pubDate>Sat, 26 Aug 2006 13:53:18 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[Webwork]]></category>

		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/08/26/javascript-bibliotheken-frameworks-und-ide/</guid>
		<description><![CDATA[Hier einige Links zum Thema Javascript &#038; Co. welche ich in den letzten Monaten gesammelt habe:

Prototype
Prototype is a JavaScript framework that aims to ease development of dynamic web applications.
qooxdoo
qooxdoo is an advanced open-source JavaScript-based GUI framework.
jQuery
New Wave Javascript: jQuery is a new type of Javascript library. It is not a huge, bloated, framework promising the [...]]]></description>
			<content:encoded><![CDATA[<p>Hier einige Links zum Thema Javascript &#038; Co. welche ich in den letzten Monaten gesammelt habe:</p>
<dl>
<dt><a href="http://prototype.conio.net/">Prototype</a></dt>
<dd>Prototype is a JavaScript framework that aims to ease development of dynamic web applications.</dd>
<dt><a href="http://qooxdoo.org/">qooxdoo</a></dt>
<dd>qooxdoo is an advanced open-source JavaScript-based GUI framework.</dd>
<dt><a href="http://jquery.com/">jQuery</a></dt>
<dd>New Wave Javascript: jQuery is a new type of Javascript library. It is not a huge, bloated, framework promising the best in AJAX - nor is just a set of needlessly complex enhancements&#8230; <strong>Nachtrag:</strong> <a href="http://www.dan-atkinson.com/wp/index.php/131/jquery-for-wordpress/">jQuery für Wordpress</a>.</dd>
<dt><a href="http://moofx.mad4milk.net/">moo.fx</a></dt>
<dd>moo.fx is a superlightweight, ultratiny, megasmall javascript effects library, written with prototype.js.</dd>
<dt><a href="http://script.aculo.us">script.aculo.us</a></dt>
<dd>Effects and controls library built on Prototype.</dd>
<dt><a href="http://openrico.org/">Rico</a></dt>
<dd>An open-source Javascript library for creating rich internet applications (basiert auf Prototype).</dd>
<dt><a href="http://developer.yahoo.com/yui/">Yahoo! User Interface Library</a></dt>
<dd>The Yahoo! User Interface (YUI) Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.</dd>
<dt><a href="http://www.aptana.com/">Aptana - the WEB IDE</a></dt>
<dd>Aptana is a robust, JavaScript-focused IDE for building dynamic web applications.</dd>
</dl>

	<a href="http://www.perun.net/tag/yahoo/" title="yahoo" rel="tag">yahoo</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/08/26/javascript-bibliotheken-frameworks-und-ide/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Liste mit Linklisten</title>
		<link>http://www.perun.net/2006/05/07/liste-mit-linklisten/</link>
		<comments>http://www.perun.net/2006/05/07/liste-mit-linklisten/#comments</comments>
		<pubDate>Sat, 06 May 2006 23:41:09 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[HTML-CSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[Webwork]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/05/07/liste-mit-linklisten/</guid>
		<description><![CDATA[Ich bin gerade dabei meinen Lesezeichen-Ordner &#034;Abarbeiten&#034; auszumisten, daher hier mal eine Liste mit Linklisten zu diversen Themen rund um den Bereich Webwork:

The Web Developer&#039;s Handbook
Eine Liste mit Online-Generatoren (von CSS bis XML)
Internet in Zahlen (Internet-Nutzung in Zahlen)
Tutorialsammlung (von Ajax bis XML)
CSS- und Design-Galerien
Schriften und Typographie
Symbole, Buttons und Icons zum Download

Keine Tags f&#252;r diesen Beitrag.]]></description>
			<content:encoded><![CDATA[<p>Ich bin gerade dabei meinen Lesezeichen-Ordner &#034;Abarbeiten&#034; auszumisten, daher hier mal eine Liste mit Linklisten zu diversen Themen rund um den Bereich Webwork:</p>
<ul>
<li><a href="http://www.alvit.de/handbook/">The Web Developer&#039;s Handbook</a></li>
<li><a href="http://www.drweb.de/weblog/weblog/?p=496">Eine Liste mit Online-Generatoren (von CSS bis XML)</a></li>
<li><a href="http://www.drweb.de/weblog/weblog/?p=499">Internet in Zahlen (Internet-Nutzung in Zahlen)</a></li>
<li><a href="http://www.drweb.de/weblog/weblog/?p=509">Tutorialsammlung (von Ajax bis XML)</a></li>
<li><a href="http://www.drweb.de/weblog/weblog/?p=517">CSS- und Design-Galerien</a></li>
<li><a href="http://www.drweb.de/weblog/weblog/?p=527">Schriften und Typographie</a></li>
<li><a href="http://www.drweb.de/weblog/weblog/?p=541">Symbole, Buttons und Icons zum Download</a></li>
</ul>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/05/07/liste-mit-linklisten/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hasenjagd und Javascript</title>
		<link>http://www.perun.net/2006/04/19/hasenjagd-und-javascript/</link>
		<comments>http://www.perun.net/2006/04/19/hasenjagd-und-javascript/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 17:22:36 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[web-2.0]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/04/19/hasenjagd-und-javascript/</guid>
		<description><![CDATA[Ein kleines aber feines Browserspiel für Zwischendurch hat der &#034;Man in Blue&#034; entwickelt: Bunny Hunt. Zutaten:

XHTML 1.0
CSS
Jede Menge Javascript
Nix Flash


	web-2.0
]]></description>
			<content:encoded><![CDATA[<p>Ein kleines aber feines Browserspiel für Zwischendurch hat der &#034;<a href="http://www.themaninblue.com/writing/perspective/2006/04/03/">Man in Blue</a>&#034; entwickelt: <a href="http://www.themaninblue.com/experiment/BunnyHunt/">Bunny Hunt</a>. Zutaten:</p>
<ul>
<li>XHTML 1.0</li>
<li>CSS</li>
<li>Jede Menge Javascript</li>
<li>Nix Flash</li>
</ul>

	<a href="http://www.perun.net/tag/web-20/" title="web-2.0" rel="tag">web-2.0</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/04/19/hasenjagd-und-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lightbox in Wordpress</title>
		<link>http://www.perun.net/2006/03/30/lightbox-in-wordpress/</link>
		<comments>http://www.perun.net/2006/03/30/lightbox-in-wordpress/#comments</comments>
		<pubDate>Thu, 30 Mar 2006 11:21:19 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[wordpress-anpassung]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/03/30/lightbox-in-wordpress/</guid>
		<description><![CDATA[Lightbox ist ein Script welcher es ermöglicht, die Bilder schöner zu präsentieren. Mittlerweile gibt es für Wordpress ein Plugin, der die Einbindungen des Skriptes erleichtern soll.

	wordpress-anpassung
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.huddletogether.com/projects/lightbox2/">Lightbox</a> ist ein Script welcher es ermöglicht, die Bilder schöner zu präsentieren. Mittlerweile gibt es für Wordpress ein <a href="http://www.4mj.it/lightbox-js-v20-wordpress/">Plugin</a>, der die Einbindungen des Skriptes erleichtern soll.</p>

	<a href="http://www.perun.net/tag/wordpress-anpassung/" title="wordpress-anpassung" rel="tag">wordpress-anpassung</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/03/30/lightbox-in-wordpress/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Variable Breite und Layouts, schöne Sitemaps</title>
		<link>http://www.perun.net/2006/03/29/variable-breite-und-layouts-schoene-sitemaps/</link>
		<comments>http://www.perun.net/2006/03/29/variable-breite-und-layouts-schoene-sitemaps/#comments</comments>
		<pubDate>Wed, 29 Mar 2006 14:31:31 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[HTML-CSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/03/29/variable-breite-und-layouts-schoene-sitemaps/</guid>
		<description><![CDATA[Hier drei interessante CSS-Links:

Preparing for Widescreen: How to build dynamic-width pages now
Variable Fixed-Width Layout
Hierarchical Sitemap with Dashed Lines

Keine Tags f&#252;r diesen Beitrag.]]></description>
			<content:encoded><![CDATA[<p>Hier drei interessante CSS-Links:</p>
<ul>
<li><a href="http://digital-web.com/articles/preparing_for_widescreen/">Preparing for Widescreen: How to build dynamic-width pages now</a></li>
<li><a href="http://www.d4ly.com/_cms/2006/03/24/35/">Variable Fixed-Width Layout</a></li>
<li><a href="http://www.alexandersperl.de/tutorials/css/sitemap.html">Hierarchical Sitemap with Dashed Lines</a></li>
</ul>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/03/29/variable-breite-und-layouts-schoene-sitemaps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Revolver</title>
		<link>http://www.perun.net/2006/03/25/revolver/</link>
		<comments>http://www.perun.net/2006/03/25/revolver/#comments</comments>
		<pubDate>Sat, 25 Mar 2006 09:23:47 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/03/25/revolver/</guid>
		<description><![CDATA[&#034;Revolver&#034; ist zuerst eine Waffe :-), aber in diesem Fall handelt es sich um ein kleines (2 kb) PHP-Script welches OpenSource ist und es einem ermöglicht z.B. eine einfache Diashow zu erstellen:
Revolver is a Fast Image Rotation Engine (FiRE)
Revolver can be used to show a stream of images without the need for an image viewer [...]]]></description>
			<content:encoded><![CDATA[<p>&#034;<a href="http://www.tubatomic.com/revolver/">Revolver</a>&#034; ist zuerst eine Waffe :-), aber in diesem Fall handelt es sich um ein kleines (2 kb) PHP-Script welches OpenSource ist und es einem ermöglicht z.B. eine einfache Diashow zu erstellen:</p>
<blockquote><p><strong>Revolver is a Fast Image Rotation Engine (FiRE)</strong><br />
Revolver can be used to show a stream of images without the need for an image viewer utility or Custom User Interface.</p></blockquote>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/03/25/revolver/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Interview mit Garvin Hicking</title>
		<link>http://www.perun.net/2006/02/10/interview-mit-garvin-hicking/</link>
		<comments>http://www.perun.net/2006/02/10/interview-mit-garvin-hicking/#comments</comments>
		<pubDate>Fri, 10 Feb 2006 00:11:30 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[Blog-RSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[interview]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/02/10/interview-mit-garvin-hicking/</guid>
		<description><![CDATA[Nicht zuletzt Jörg Petermann hat mir gezeigt, dass man auch in der Blogosphäre interessante Interviews führen kann. Auch für mich gibt es ein paar Leute die sich mit interessanten Themen beschäftigen oder an interessanten Projekten mitarbeiten an die ich die eine oder andere Frage stellen will.
Das erste Interview habe ich mit Garvin Hicking geführt. Er [...]]]></description>
			<content:encoded><![CDATA[<p>Nicht zuletzt <a href="http://www.einfach-persoenlich.de/2006-01-08/webdesign-webdesign-2006-trends-erwartungen-und-wuensche.html">Jörg Petermann</a> hat mir gezeigt, dass man auch in der Blogosphäre interessante Interviews führen kann. Auch für mich gibt es ein paar Leute die sich mit interessanten Themen beschäftigen oder an interessanten Projekten mitarbeiten an die ich die eine oder andere Frage stellen will.</p>
<p>Das erste Interview habe ich mit <a href="http://www.garv.in/serendipity/">Garvin Hicking</a> geführt. Er lebt in Köln, arbeitet als PHP-Entwickler und einen Großteil seiner Freizeit spendet er den Projekten <a href="http://www.phpmyadmin.net">PHPMyAdmin</a> und <a href="http://www.s9y.org/">Serendipity</a>. </p>
<dl>
<dt>Hallo Garvin, vielen Dank das du dir die zeit genommen hast auf meine Fragen zu antworten.</dt>
<dd>
<p>Das tue ich doch gerne. Wer etwas mein privates Blog verfolgt, weiß, dass ich keiner Umfrage bzw. Fragebogen wiederstehen kann. <img src='http://www.perun.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
</dd>
<dt>Was war dein erster Rechner und was hast du hauptsächlich damit gemacht?</dt>
<dd>
<p>Also wenn man es als Rechner bezeichnen kann, dann war das der Schneider CPC 464. Mit Datasettenlaufwerk. Darauf konnte man sogar Musik hören, wie mein 4-jahre jüngerer Bruder herausgefunden hat - was mich aber eher zur Weißglut brachte.</p>
<p>Eigentlich hätte ich mir lieber damals einen C64 geben lassen, weil ich ja damit spielen wollte wie die anderen Kids - demonstrativ habe ich für meine Eltern damals einen C64 aus Spanholz und Pappschachtel-Disketten hergestellt, bis ich<br />
dann endlich mit dem CPC beglückt wurde. Nach viel Zeit vor dem grünochromen Monitor habe ich dann auch rausgefunden, dass das Ding zum Spielen nicht wirklich gut war. Dann habe ich angefangen, Listings aus Zeitschriften abzutippen, die nie klappten - bis ich dann meine eigenen kleinen Grafik-Spielereien gebastelt habe. RÜckblickend war es wohl gut, dass ich keine bessere Spielekonsole bekommen habe. <img src='http://www.perun.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
</dd>
<dt>Du arbeitest als PHP-Entwickler in Köln. Könnte man ein bisschen mehr über deine Arbeit erfahren?</dt>
<dd>
<p>Jein; eigentlich arbeite ich festangestellt als PHP-Entwickler bei der Faktor E in Bonn. In Köln arbeite ich (sehr selten) zusätzlich noch freiberuflich, wenn man Dinge anfallen wie z.B. Fachgutachten für PHP-Bücher des O&#039;Reilly Verlages oder ähnliches.</p>
<p>Meine Arbeit ist eigentlich recht vielfältig und beinhaltet so ziemlich alles, was man mit PHP und Webservern machen kann. Von Shellscripts zur Systemadministration, Apache-Spielereien, CMS-Implementationen bis hin zu komplexen datenbankgestützten Web-Applikationen, die so alles tun, was sie laut Kunden tun sollen. Was mir dabei besonders gefällt, ist dass die Arbeit vielfältig ist - ich könnte wohl nicht in einer Firma arbeiten, wo ich auf ein einzelnes Projekt festgelegt würde.</p>
</dd>
<dt>Wie kamst du zu PHP, wann war das und wie hast du PHP gelernt?</dt>
<dd>
<p>Das muss ungefähr &#039;98 gewesen sein. Damals hatte ich mit einem guten Freund ein Gewerbe gegründet, um hauptsächlich Computerhardware zusammenzubauen und zu verkaufen. Da ich nebenher schon sehr an HTML und Design interessiert war, gelangen wir über PC-Hardware auch in Kontakt mit einem anderen Dienstleister, der eine Onlineshop-Seite für einen Kunden entwickeln sollte. Ursprünglich wollte ich nur das Design entwickeln, aber dann warf mir unser Partner das Stichwort &#034;PHP&#034; entgegen. &#034;Damit kann man wohl im Web tolle Dinge machen&#034; - und dann war&#039;s um mich geschehen.</p>
<p>In einer Woche hatte ich das PHP Manual durchgearbeitet, und mit meiner Erfahrung in Basic und Turbo Pascal war die neue Syntax auch ziemlich einfach. Eine weitere Woche später stand dann meine erste MySQL-Datenbankapplikation eines Shop-Systems. Später habe ich dann meinen Zivildienst in der Caritas-Werkstatt begonnen und konnte dort eine Art Warenwirtschaftssystem entwickeln. Über den Zeitraum von 6 Monaten sind dabei gut 100.000 Codezeilen angefallen - rückblickend natürlich grausliger Spaghetti-Code, aber es hat toll geklappt und sogar mit Barcode-Scannern interagiert. Ich glaube das war dann der Punkt bei dem ich entschieden habe, dass mir logische Software-Entwicklung mehr Spaß macht und mir mehr liegt als das Design.</p>
</dd>
<dt>Was fasziniert dich an PHP?</dt>
<dd>
<p>Prinzpiell ist es die Einfachkeit, und der hohe Verfügbarkeitsgrad. Es gibt kaum noch Webserver, bei denen man kein PHP anwenden kann. Zudem ist die Sprache extrem simpel und bietet für viele algorithmische Probleme direkt integrierte Funktionen an. Die Einrichtung von PHP ist ziemlich einfach, und viele Entwickler die sich damit auskennen, stehen zur Verfügung.</p>
<p>Besonders die einfache Verknüpfung von HTML und PHP hat mich wohl damals fasziniert, und macht es auch heute noch möglich extrem schnell zum gewünschten Ziel zu gelangen. Ausserdem hat PHP eine sehr flache Lernkurve aber bietet auch nach Jahren immer noch neue Möglichkeiten zur Optimierung, so wie die neuen OOP-PHP5 Features.</p>
</dd>
<dt>Was meinst du was wir von PHP in den nächsten 2-3 Jahren erwarten können und wie siehst du den Stand von PHP in Anbetracht der &#034;Konkurrenz&#034; (Python, Ruby)?</dt>
<dd>
<p>Ich denke der große Vorteil von PHP ist, dass es kommerziell etabliert ist. Viele Web-Agenturen haben sich darauf bereits eingelassen, der Support von Hostern ist entsprechend groß.</p>
<p>Der Ur-Konkurrent Perl ist meiner Meinung einfach zu &#039;obfuscated&#039;; Perl-Code ist (für mich) einfach hässlich zu lesen, und kann aufgrund seiner Syntax durchaus die ein oder andere Gehirnwindung verdrehen. Zudem ist Perl schon zu sehr auf&#039;s<br />
&#034;Alles Können&#034; spezialisiert, und daher für den einfachen Webentwickler zu komplex.</p>
<p>Wie man an vielen PHP-Projekten sieht, sind viele PHP-Entwickler Anfänger, die schnell Ergebnisse produzieren - das ist das Hauptproblem von Python und Ruby. Durch die strenge Syntax von Python wird kaum ein Anfänger damit klarkommen -<br />
denn wie man an PHP-Code sieht, ist der überwiegend &#034;hässlich&#034; erstellt.</p>
<p>Einsteiger denken bei der Programmierung auch eher in funktionaler Strategie - kaum jemand wird direkt den Umgang mit Objektorientierung begreifen, worauf Python und Ruby aber basieren. Und das Web gewinnt man letztlich nur mit geringen Anfangshürden und flacher Lernkurve, aber mit Möglichkeit zum &#034;sauberen Code&#034;. Beides bietet PHP, und wird es auch in Zukunft bieten.</p>
<p>Ich hoffe sehr darauf, dass durch die aktuellen Anstrengungen Zend-Framework und ezComponents der generelle Code von Entwicklern mehr vereinheitlicht wird. Gute Komponenten entschlacken den eigenen Code und machen ihn leichter<br />
wiederverwendbar. Worauf PHP sich auch &#034;besinnen&#034; muss, ist den faulen Entwickler einfacher zu sicherem und sauberen Code zu zwingen. Sicherheitslücken wie XSS und SQL Injection müssen für den User begreifbar in Programmierkonzepte umgewandelt werden, und die Entwicklung von PHP6 scheint da schon in eine gute Richtung zu gehen.</p>
<p>Das Fallbein wird da die Backward-Compatibility werden; das schönste, neue und sichere Konzept nutzt nichts, wenn jeder die &#034;alte Syntax&#034; verwendet. Hier wird es schwierig werden, einen guten Weg zu finden.</p>
</dd>
<dt>Gibt es für PHP Einsatzgebiete wo PHP noch gar nicht oder zu wenig eingesetzt wird obwohl PHP dort viel Potential entfalten könnte?</dt>
<dd>
<p>Prinzpiell denke ich, dass jedes Einsatzgebiet speziell betrachtet werden muss, und man schauen muss, welche Programmiersprache für ein Projekt am geeignetsten ist. Bei freien oder langjährigen Projekten sollte man auf die Verbreitung der Programmiersprache achten, um nicht irgendwann zu wenig Entwickler zu haben. Aber genauso wichtig ist, ob die Sprache performant und stabil genug für den Anwendungszweck ist. </p>
<p>Als Einsatzgebiet für PHP noch wenig geeignet erscheint mir der Einsatz von stark parallelisierten oder geclusterten Anwendungen. Die nur rudimentäre Unterstützung von persistenten Objekten über mehrere Requests hindurch ist noch eine Sache, die PHP lösen muss um in diese Region der JSP/Java-Anwendungen sinnvoll vorzudringen. Gleichzeitig sollte PHP aber keinen so massiven Footprint und Systemvoraussetzungen wie für JSP/Java vorbringen.</p>
<p>Für Desktop-Anwendungen macht PHP, trotz allen PHP-GTK-Spaßes meiner Meinung nach wenig Sinn. PHP ist eine Scriptsprache, und kann/sollte mit solchen Anwendungen nicht konkurrieren.</p>
</dd>
<dt>Welche Neuerungen dürfen kurz- und mittelfristig vom PHPMyAdmin-Projekt erwarten und was ist deine Aufgabe dort?</dt>
<dd>
<p>Das ist eine stechende Frage. Leider ermöglicht es mir meine beschränkte Zeit und andere Aufgaben in letzter Zeit kaum, im phpMyAdmin-Team anders als strategisch-beratend tätig zu sein.</p>
<p>Kurzfristig wird gerade sehr viel an einem Menü-basierten Installer vorgenommen, der schon gut voranschreitet. Auch MySQL5-Unterstützung ist in letzter Zeit besser geworden.</p>
<p>Was phpMyAdmin mittelfristig leisten muss (meiner Meinung nach) ist ein komplett überholtes Framework. Der jetzige Spaghetti-Code mit vielen HTML-Brocken ist bei der Menge an Code sehr unübersichtlich geworden. Hier bietet es sich an, über eine Objekt-Orientierung zur Abstraktion nachzudenken, und auch ein Session-Handling zu konzipieren. phpMyAdmin initialisiert einen gewaltigen Wust an Initialdaten, und muss bei JEDEM Seitenaufruf die gesamte Konfiguration parsen. Das wird heutzutage immer mehr zu einem einschränkenden Faktor.</p>
<p>Weiterhin soll(t)en die Funktionalitäten für Rapid-DB-Prototyping ausgebaut werden; der Editor zur Behandlung von Referenz-Tabellen/Spalten und Fremdschlüsseln müsste mehrdimensionale Verknüpfungen zulassen, um so auch das Layout von komplexen Datenbank-Strukturen zu erleichtern.</p>
<p>Gerade bei phpMyAdmin würde der Einsatz von Ajax und einem leichten Framework extrem viel Sinn machen.</p>
<p>Diese drei Zentralpunkte (Framework-Neubau, MySQL5, Relationen) sind essentiell wichtig, um den Nutzen des Tools voranzutreiben. Ich sehe da allerdings wenig Licht am Ende des Tunnels, da diese Aufgaben mehrere Monate Entwicklungszeit und kompetenter, vorausblickender Entwickler bedürfen.</p>
</dd>
<dt>Du arbeitest auch am Serendipity-Projekt mit. Was ist deine Aufgabe dort?</dt>
<dd>
<p>Ich arbeite dort inzwischen fast nicht mehr nur mit, sondern verbringe den 99%igen Großteil meiner Freizeit-Programmierzeit damit.</p>
<p>Meine Aufgabe dort umfasst (leider) eigentlich fast alles: Release-Manager, Support, Feature-Entwicklung, PR.</p>
<p>&#034;Leider&#034; deshalb, weil ich mir eine größere Community mit stärkerer Aufgabenteilung wünsche. Ich mache das ganze zwar aus Leidenschaft und Spaß am Projekt, aber möchte auch, dass das ganze nicht nur von einer handvoll Personen abhängt.</p>
</dd>
<dt>Könntest du in Kurzform erzählen warum man Serendipity als Weblog-Software einsetzen sollte?</dt>
<dd>
<p>Es wäre einfacher zu erklären, warum man Serendipity nicht verwenden sollte. Dann wäre ich jetzt fertig. <img src='http://www.perun.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Spaß beiseite. Serendipity bietet ein aufgeräumtes, Plugin-orientiertes Framework. Damit ist es extrem flexibel und sehr anpassbar. Wir verwenden das Smarty-Template System, mit dem man alle möglichen Anpassungen vornehmen kann - und darum geht es dem Blogger ja häufig.</p>
<p>Mehr als 100 Plugins lösen bei Serendipity so ziemlich jedes Problem und jeden Wunsch, den man beim bloggen entwickeln könnte. </p>
<p>Doch da hört Serendipity nicht auf, denn auch zum Einsatz für &#034;normale &#034;Webseiten ist es inzwischen gut geeignet.</p>
<p>Eine detailierte Benutzer- und Rechteverwaltung, eine Online-Plugin-Verwaltung und eine ausgebaute Mediendatenbank runden das ganze Paket gut ab.</p>
<p>Letztlich muss man natürlich sagen, dass Blogger eigenwillige Zicken sind. Es gibt immer spezielle Wünsche, damit man sich individuell präsentieren kann, und so zählt auch die Auswahl der Weblog-Software dazu. Ob Serendipity, WordPress, Textpattern oder MoveableType: Alle bedienen das Metier fast gleich gut. Serendipity sticht durch seine Flexibilität, geordneten Code und hohe Integrierbarkeit hervor.</p>
<p>Generell gilt: Probieren geht über studieren. <img src='http://www.perun.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
</dd>
<dt>Wie schaut die Zukunftsplanung für Serendipity aus?</dt>
<dd>
<p>Wir haben derzeit viel vor. Version 1.0 steht vor der Tür, und rundet die mehr als 3 Jahre Entwicklungszeit in einem schnuckeligen, stabilen Release ab. Dafür polieren wir gerade viel am Design und der Präsentation. Denn eine Community kann nur dann größer werden, wenn auch mehr Leute von Serendipity wissen und auf den ersten Blick umfassend informiert werden können. Das ist derzeit in der Tat eher nur für denjenigen möglich, der sich mehr mit Serendipity befasst.</p>
<p>In mittelfristiger Zukunft liegt der Ausbau der Dokumentation. Parallel befriedigen wir eigentlich immer Feature-Requests und kurzfristige Pluginwünsche. Gerade das Plugin zur Bearbeitung von &#034;statischen Seiten&#034; wird noch einen wichtigen Punkt darstellen, und wird derzeit vom Hauptentwickler des Plugins detailiert vorbereitet.</p>
<p>Weitere Zukunftsplanung ist die Integration offener Schnittstellen, wie die Atom REST-API, den Ausbau des Online-Repositories. Auch dem User-Interface wollen wir uns stärker widmen, und dort stehen uns in naher Zukunft voraussichtlich eine Usability-Expertengruppe der OpenUsability.org zur Verfügung.</p>
<p>Auch Ajax (an den Stellen, wo es wirklich Sinn macht!) wird nach wie vor ein Thema bleiben. Vieles wird sich anhand der neuen Wünsche der Blogger zeigen, auf die wir immer sehr großen Wert legen. Wir sind ein offenes und flexibles<br />
Projekt, und werden dies nicht durch 2-jährige Vorausplanung zunichte machen.</p>
</dd>
<dt>Braucht ihr (PHPMyAdmin und Serendipity) Hilfe und wie könnte man euch unterstützen?</dt>
<dd>
<p>Hilfe braucht man natürlich immer. Gerade im Bereich der Dokumentation, Design und User Interface haben wir großes Bedürfnis. Doch auch Entwickler, die sich gerne mit dem Framework an sich befassen möchten, sind immer willkommen.</p>
</dd>
<dt>Ein aktuelles &#034;Problem&#034; in Verbindung mit PHP sind Kontaktformulare. Viele Kontaktformulare werden von Spamern als Spam-Schleudern missbraucht. Gefährdet sind sogar Formulare, die bis dato als &#034;sicher&#034; galten. Also auch Formulare die eine feste Empfänger-Adresse hatten und die auch <code>htmlspecialchars</code> und <code>stripslashes</code> intus hatten. Könntest du uns kurz erklären, welches Prinzip wird hier ausgenutzt, wie kann man testen ob man gefährdet ist und wie kann man sich gegen so was schützen?</dt>
<dd>
<p>Leider gibt es im heutigen Spam-Zeitalter immer neue Mittel und Wege, wie Spammer ihre Sachen an den Mann kriegen. Nicht nur Viren, Trojaner und Phishing werden genutzt, sondern auch bestehende Webseiten.</p>
<p>An dem Wust von aktuellen Sicherheitslücken (XSS, XSRF, SQL Injection, Header Injection, DDOS, &#8230;) gibt es vieles, worauf PHP-Entwickler achten müssen. Seiten wie <a href="http://www.hardened-php.net/">www.hardened-php.net</a> widmen sich dem sehr ausführlich, daher möchte ich nur kurz darauf eingehen.</p>
<p>Das oben angesprochene Problem der Kontaktformulare war insofern tückisch, als dass man mit der Anwendung der &#034;üblichen Sicherheitsfunktionen&#034; <code>htmlspecialchars()</code>/<code>stripslashes()</code>/<code>*_escape_string()</code> einen Fall nicht bedacht hat:</p>
<p>HTTP-Anwendungen und auch E-Mails erlauben beide die Festlegung von Metadaten, sogenannter Header. HTTP-Header geben Meta-Informationen zur Dokumentgröße, Cookies und Systemzeit aus, während E-Mail Header den Absender, Absendezeit, Inhaltstyp u.ä. angeben.</p>
<p>Beide Header unterteilen die einzelnen Felder mit einfachen Zeilenumbrüche (\r\n). Wenn irgendwo in den Header einen Benutzereingabe auftaucht (z.B. &#034;From: $user&#034;), dann kann es sein, dass ein böswilliger User in dieser Variable einen<br />
Zeilenumbruch mit weiteren individuellen Headern eingeschleust hat. Diese Header werden dann vom HTTP-Browser oder E-Mail-MTA durchaus interpretiert, und können sowohl zu gefälschten HTML-Seiten als auch zu völlig anderen Spam-E-mails<br />
umgewandelt werden.</p>
<p>Seit PHP 5.1.2 und 4.4.2 besteht das Problem bei HTTP-Headern nicht mehr, da Zeilenumbrüche nicht mehr erlaubt werden. Für E-Mails die mittels der <code>mail()</code> Funktion versendet werden, gilt dies jedoch nach wie vor. Daher muss der Programmierer darauf achten, dass er aus allen Benutzereingaben ungültige Zeichen wie <code>\r</code>, <code>\n</code>, <code>\t</code>, <code>\0</code> alle entfernt.</p>
</dd>
</dl>

	<a href="http://www.perun.net/tag/interview/" title="interview" rel="tag">interview</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/02/10/interview-mit-garvin-hicking/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Titel-Attribut gestalten</title>
		<link>http://www.perun.net/2006/01/27/titel-attribut-gestalten/</link>
		<comments>http://www.perun.net/2006/01/27/titel-attribut-gestalten/#comments</comments>
		<pubDate>Fri, 27 Jan 2006 08:21:50 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[HTML-CSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[css-tipps]]></category>

		<guid isPermaLink="false">http://www.perun.net/2006/01/27/titel-attribut-gestalten/</guid>
		<description><![CDATA[Evtl. ist die Überschrift etwas missverständlich  es geht um die Möglichkeit mittels CSS und Javascript den Titel-Attribut (title="...") zu &#034;gestalten&#034; oder besser gesagt stattdessen CSS-Tooltips auszugeben:

Bubble Tooltips
Sweet Titles: JavaScript Fading Tooltips


	css-tipps
]]></description>
			<content:encoded><![CDATA[<p>Evtl. ist die Überschrift etwas missverständlich <img src='http://www.perun.net/wp-includes/images/smilies/icon_confused.gif' alt=':???:' class='wp-smiley' /> es geht um die Möglichkeit mittels CSS und Javascript den Titel-Attribut (<code>title="..."</code>) zu &#034;gestalten&#034; oder besser gesagt stattdessen CSS-Tooltips auszugeben:</p>
<ul>
<li><a href="http://web-graphics.com/mtarchive/001717.php">Bubble Tooltips</a></li>
<li><a href="http://www.dustindiaz.com/sweet-titles/">Sweet Titles: JavaScript Fading Tooltips</a></li>
</ul>

	<a href="http://www.perun.net/tag/css-tipps/" title="css-tipps" rel="tag">css-tipps</a>
]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2006/01/27/titel-attribut-gestalten/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#034;onload&#034;-Grenzen umgehen</title>
		<link>http://www.perun.net/2005/08/29/onload-grenzen-umgehen/</link>
		<comments>http://www.perun.net/2005/08/29/onload-grenzen-umgehen/#comments</comments>
		<pubDate>Mon, 29 Aug 2005 07:38:14 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<guid isPermaLink="false">http://www.perun.net/?p=489</guid>
		<description><![CDATA[Alessandro gibt Tipps wie man die Grenzen von window.onload (eine Funktion, Ausführung wenn die Seite vollständig geladen wurde) umgehen kann.
Keine Tags f&#252;r diesen Beitrag.]]></description>
			<content:encoded><![CDATA[<p>Alessandro gibt <a href="http://web-graphics.com/mtarchive/001635.php">Tipps</a> wie man die Grenzen von <code>window.onload</code> (eine Funktion, Ausführung wenn die Seite vollständig geladen wurde) umgehen kann.</p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2005/08/29/onload-grenzen-umgehen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DHTML-Container</title>
		<link>http://www.perun.net/2005/06/04/dhtml-container/</link>
		<comments>http://www.perun.net/2005/06/04/dhtml-container/#comments</comments>
		<pubDate>Sat, 04 Jun 2005 09:03:18 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[Webwork]]></category>

		<guid isPermaLink="false">http://www.perun.net/?p=445</guid>
		<description><![CDATA[Diese relativ neue Werbetechnik taucht unter verschiedenen Namen auf: DHTML-Layer, Flash-Layer, DHTML-Container etc. Es geht hier darum mittels DHTML (HTML, CSS und Java Script) z. B. eine Werbebotschaft oder zusätzlichen Inhalt auf der Website einzublenden ohne dafür ein Popup zu bemühen. Daher können die klassischen Popup-Blocker diese Technik nicht unterdrücken.  
Ok, ich weiß das [...]]]></description>
			<content:encoded><![CDATA[<p>Diese relativ neue Werbetechnik taucht unter verschiedenen Namen auf: DHTML-Layer, Flash-Layer, DHTML-Container etc. Es geht hier darum mittels DHTML (HTML, CSS und Java Script) z. B. eine Werbebotschaft oder zusätzlichen Inhalt auf der Website einzublenden ohne dafür ein Popup zu bemühen. Daher können die klassischen Popup-Blocker diese Technik nicht unterdrücken.  </p>
<p>Ok, ich weiß das einige Leute solchen Techniken gegenüber sehr skeptisch und teilweise feindlich gegenüber stehen. Aber ich bin der Meinung daß diese Technik, wie übrigens das klassische Popup, an sich neutral ist. Was manche Betereiber daraus gemacht haben bzw. machen ist eine andere Geschichte.</p>
<p>OK, nun zu der Erstellung eines DHTML-Containers. Im Prinzip handelt sich hierbei um einen Div-Block in dem man verschiedenartige Inhalte (Text, Grafik, Flash etc.) unterbringen kann und nach einer bestimmten Zeitspanne oder Aktion des Besuchers soll dieser Block sichtbar werden. Ich werde hierbei ein mögliches Beispiel aufzeigen, welches für den Besucher eine nützliche Information bereithält. </p>
<p>Also erstellen wir zuerst einen Div-Block und fügen diesen in die Website ein:</p>
<p><code>&lt;div class="info-box" id="info"&gt;<br />
&lt;h2&gt;Die letzten Kommentare&lt;/h2&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;Kommentar 1&lt;/li&gt;<br />
&lt;li&gt;Kommentar 2&lt;/li&gt;<br />
&lt;li&gt;Kommentar 3&lt;/li&gt;<br />
&lt;li&gt;Kommentar 4&lt;/li&gt;<br />
&lt;li&gt;Kommentar 5&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;a href="javascript:schliessen()"&gt;Schlie&szlig;en&lt;/a&gt;<br />
&lt;/div&gt;</code></p>
<p>Und jetzt geben wir die der Klasse <em>info-box</em> in der CSS-Datei die Formatierung:</p>
<p><code>.info-box {<br />
position: absolute;<br />
top: 50%;<br />
left: 50%;<br />
padding: 1em;<br />
visibility: hidden;<br />
z-index: 999;<br />
}</code></p>
<p>Somit ist dieser Block standardmäßig unsichtbar. Falls er sichtbar wird, dazu später, dann wäre er absolut positioniert und würde mitten auf der Webseite erscheinen und zwar über all dem anderen Inhalt (<code>z-index: 999;</code>).</p>
<p>Jetzt kommt Java Script ins Spiel:</p>
<p><code>&lt;script type="text/javascript"&gt;<br />
var warten = setTimeout('anzeigen()',2000);<br />
function anzeigen()<br />
{<br />
document.getElementById("info").style.visibility="visible";<br />
}<br />
function schliessen()<br />
{<br />
document.getElementById("info").style.visibility="hidden";<br />
}<br />
&lt;/script&gt;</code></p>
<p>Dieses kleine Script kann man entweder im Kopfbereich der jeweiligen Seite einfügen oder in eine externe Datei auslagern. Und was bewirkt dieses Script? Das Script wartet 2000ms (2 Sekunden) und ruft dann die Funktion <code>anzeigen()</code> auf. Diese Funktion ändert in dem Container mit der <em>Id=info</em> den Wert von unsichtbar auf sichtbar. Somit erscheint die Info-Box auf der Website.</p>
<p>Wenn man auf den Link &#034;Schließen&#034; klickt, wird die Funktion <code>schliessen()</code> aufgerufen und dies ändert den visibility-Wert auf unsichtbar.</p>
<p>Hierbei sollte man natürlich erwähnen, daß diese Technik nicht funktioniert wenn Java Script im Browser deaktiviert ist. Auch in den Standardeinstellungen von Win XP SP2 für Internet Explorer wird diese Technik ebenfalls geblockt (zumindest war es bei mir so). Und wenn man in Mozilla oder Mozilla-Firefox den Flash-Blocker installiert hat, dann werden die &#034;Flash-Layer&#034; ebenfalls geblockt.</p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2005/06/04/dhtml-container/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Spickzettel für Webworker</title>
		<link>http://www.perun.net/2005/05/28/spickzettel-fuer-webworker/</link>
		<comments>http://www.perun.net/2005/05/28/spickzettel-fuer-webworker/#comments</comments>
		<pubDate>Sat, 28 May 2005 09:22:36 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[HTML-CSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[Webwork]]></category>

		<guid isPermaLink="false">http://www.perun.net/?p=442</guid>
		<description><![CDATA[Wer kennt das nicht aus der Schulzeit  . Tagelang vor einer Klausur hat man an einem Spickzettel gebastelt und versucht so viel Wissen wie möglich auf einem kleinen Zettel unterzubringen. Auch wenn es man es innerhalb der Klausur nicht zum Schummeln verwendet hat, so war dieser Zettel nicht umsonst. Dadurch, daß man sich mit [...]]]></description>
			<content:encoded><![CDATA[<p>Wer kennt das nicht aus der Schulzeit <img src='http://www.perun.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Tagelang vor einer Klausur hat man an einem Spickzettel gebastelt und versucht so viel Wissen wie möglich auf einem kleinen Zettel unterzubringen. Auch wenn es man es innerhalb der Klausur nicht zum Schummeln verwendet hat, so war dieser Zettel nicht umsonst. Dadurch, daß man sich mit der Materie auseinandergesetzt hat ist zumindest etwas vom Lernstoff hängengeblieben. </p>
<p>Jetzt gibt es für Webworker Spickzettel, welche man ohne Angst und schlechtes Gewissen verwenden darf :-):</p>
<ul>
<li><a href="http://www.ilovejackdaniels.com/css/css-cheat-sheet/">CSS-Spickzettel</a></li>
<li><a href="http://www.ilovejackdaniels.com/php/php-cheat-sheet/">PHP-Spickzettel</a></li>
<li><a href="http://www.ilovejackdaniels.com/php/mysql-cheat-sheet/">MySQL-Spickzettel</a></li>
<li><a href="http://www.ilovejackdaniels.com/cheat-sheets/mod_rewrite-cheat-sheet/">mod_rewrite-Spickzettel</a></li>
<li><a href="http://thejackol.com/htaccess-cheatsheet">.htaccess-Spickzettel</a> (neu)</li>
</ul>
<p>Via <a href="http://news.css-technik.de/">CSS-Technik-News</a>.</p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2005/05/28/spickzettel-fuer-webworker/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Power Phlogger</title>
		<link>http://www.perun.net/2004/08/11/power-phlogger/</link>
		<comments>http://www.perun.net/2004/08/11/power-phlogger/#comments</comments>
		<pubDate>Wed, 11 Aug 2004 14:42:24 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[Webwork]]></category>

		<guid isPermaLink="false">http://www.perun.net/archiv/2004/08/11/power-phlogger/</guid>
		<description><![CDATA[Eine sehr gute Software, basierend auf PHP und MySQL, zum auswerten der Logfiles.]]></description>
			<content:encoded><![CDATA[<p><a href="http://pphlogger.phpee.com/">Power Phlogger</a> ist eine Software zum auswerten der Logfiles. Die Software benötigt PHP und MySQL und ist Freeware.</p>
<p>Es besteht die Möglichkeit, falls der Hoster es erlaubt, sogar einen Service basierend auf dieser Software aufzubauen.</p>
<p>Ich nutze Power Phlogger schon seit fast zwei Jahren und bin damit sehr zufrieden.</p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2004/08/11/power-phlogger/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP-Skript gesucht</title>
		<link>http://www.perun.net/2004/08/04/php-skript-gesucht/</link>
		<comments>http://www.perun.net/2004/08/04/php-skript-gesucht/#comments</comments>
		<pubDate>Wed, 04 Aug 2004 18:23:20 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<guid isPermaLink="false">http://www.perun.net/archiv/2004/08/04/php-skript-gesucht/</guid>
		<description><![CDATA[Gesucht wird ein empfehlenswertes PHP-Skript welches E-Mails empfangen und versenden kann und einen Kalendar und Adressbuch hat.]]></description>
			<content:encoded><![CDATA[<p>Kennt jemand von euch ein PHP-Skript der folgendes kann:</p>
<ul>
<li>Empfang der E-Mails von versch. Konten</li>
<li>Versand von E-Mails</li>
<li>Adressbuch</li>
<li>Kalender</li>
<li>Nach Möglichkeit: Notizzettel</li>
<li>Nach Möglichkeit: Freeware bzw. Open Source</li>
</ul>
<p>Ich weiss, ich könnte jetzt googeln und in diversen Skriptsammlungen suchen. Das habe ich auch getan, allerdings gibt es einige Skripte, die dies angeblich beherrschen, nur weiss ich nicht welche empfehlenswert sind.</p>
<p>Der Grund warum ich so ein Skript suche, ist daß ich gerne von 3 PCs Zugriff auf meine Mails (Versand und Empfang), Adressbücher und Kalendar haben will ohne immer per Netzwerk oder USB-Stick die Daten abzugleichen.</p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2004/08/04/php-skript-gesucht/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP 5 freigegeben</title>
		<link>http://www.perun.net/2004/07/14/php-5-freigegeben/</link>
		<comments>http://www.perun.net/2004/07/14/php-5-freigegeben/#comments</comments>
		<pubDate>Wed, 14 Jul 2004 08:12:20 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<guid isPermaLink="false">http://www.perun.net/archiv/2004/07/14/php-5-freigegeben/</guid>
		<description><![CDATA[PHP 5.0.0 ist seit gestern offiziell freigegeben.  Was mich persönlich am meisten interessiert ist SQLite, eine kleine Datenbank, welche im Paket dabeisein wird. Angeblich soll sie leichter zu erlernen und zu verwalten sein als MySQL, allerdings habe ich mich mit dem Thema nicht näher beschäftigt.
Eine weitere Frage ist, wie lange wird es dauern bis [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.php.net">PHP 5.0.0</a> ist seit gestern offiziell freigegeben.  Was mich persönlich am meisten interessiert ist <a href="http://www.sqlite.org">SQLite</a>, eine kleine Datenbank, welche im Paket dabeisein wird. Angeblich soll sie leichter zu erlernen und zu verwalten sein als MySQL, allerdings habe ich mich mit dem Thema nicht näher beschäftigt.</p>
<p>Eine weitere Frage ist, wie lange wird es dauern bis die Massenhoster PHP 5 einführen.</p>
<p>Via: <a href="http://www.grochtdreis.de/weblog/index.php?id=P442">F-log-ge</a></p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2004/07/14/php-5-freigegeben/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aktueller Menuepunkt</title>
		<link>http://www.perun.net/2004/06/01/aktueller-menuepunkt/</link>
		<comments>http://www.perun.net/2004/06/01/aktueller-menuepunkt/#comments</comments>
		<pubDate>Tue, 01 Jun 2004 20:02:23 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[HTML-CSS]]></category>

		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[Webwork]]></category>

		<guid isPermaLink="false">http://www.perun.net/archiv/2004/06/01/aktueller-menuepunkt/</guid>
		<description><![CDATA[Ich habe in letzten Tagen nach einer einfachen Lösung gesucht, wie man das Problem des anzeigens des aktuellen Menüpunktes in der Navigation lösen kann.
Dabei sind mir zwei Berichte relativ positiv aufgefallen:

Keeping Navigation Current With PHP
Highlighting current page with CSS

Der erste Bericht setzt auf die PHP-Lösung in der man jeder Unterseite schon am Anfang eine eindeutige [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe in letzten Tagen nach einer einfachen Lösung gesucht, wie man das Problem des anzeigens des aktuellen Menüpunktes in der Navigation lösen kann.</p>
<p>Dabei sind mir zwei Berichte relativ positiv aufgefallen:</p>
<ul>
<li><a href="http://www.alistapart.com/articles/keepingcurrent/">Keeping Navigation Current With PHP</a></li>
<li><a href="http://hicksdesign.co.uk/articles/css/highlighting_current_page_with_css/">Highlighting current page with CSS</a></li>
</ul>
<p>Der erste Bericht setzt auf die PHP-Lösung in der man jeder Unterseite schon am Anfang eine eindeutige Kennung in Form einer Variable verabreicht. Dies macht man sich dann zum Nutzen nicht nur für die Bestimmung der aktuellen Seitenposition sondern auch für andere Zwecke (angepasster Seitentitel etc.).</p>
<p>Der zweite Bericht setzt auf eine pure CSS-Lösung (war mir bis dato unbekannt). Man verabreicht in jeder Unterseite  ein <code>&lt;body id=&quot;eindeutige-kennung&quot;&gt;</code> und auch jedem Menüunterpunkt auch eine eigene ID. In der CSS-Datei tätigt man folgende Anweisung:</p>
<p><code><br />
body#eindeutige-kennung li#kennung {<br />
Angaben zum Hervorheben;<br />
}<br />
</code></p>
<p>Ich habe die beiden Berichte zusammengefast und im Wiki bereitgestellt:</p>
<ul>
<li><a href="http://www.perun.net/wiki/AktuellerLinkMitCss">Aktueller Link mit CSS</a></li>
<li><a href="http://www.perun.net/wiki/AktuellerLinkMitPhp">Aktueller Link mit PHP</a></li>
</ul>
<p>Bei dem zweiten Bericht habe ich auch eine Lösung aufgeschrieben die ich bis jetzt verwendet habe welche auf <code>$_SERVER['SCRIPT_NAME']</code> basiert.</p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2004/06/01/aktueller-menuepunkt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Das (&#38;) geht mir richtig auf den Sack!</title>
		<link>http://www.perun.net/2004/05/20/das-geht-mir-richtig-auf-den-sack/</link>
		<comments>http://www.perun.net/2004/05/20/das-geht-mir-richtig-auf-den-sack/#comments</comments>
		<pubDate>Thu, 20 May 2004 08:08:32 +0000</pubDate>
		<dc:creator>Perun</dc:creator>
		
		<category><![CDATA[PHP-JS]]></category>

		<category><![CDATA[Webwork]]></category>

		<guid isPermaLink="false">http://www.perun.net/archiv/2004/05/20/das-geht-mir-richtig-auf-den-sack/</guid>
		<description><![CDATA[Das kaufmännische &#8222;und&#8221; geht mir wirklich richtig auf den Sack. Jedes mal meckert der Validator:
 You may have forgotten to &#034;escape&#034; an ampersand (&#038;) character, thus causing the validator to believe that you created a new, undefined entity that starts with &#034;&#38;&#034;. If you wish to cause an &#034;&#38;&#034; to appear within text or a [...]]]></description>
			<content:encoded><![CDATA[<p>Das kaufmännische &bdquo;und&rdquo; geht mir wirklich richtig auf den Sack. Jedes mal meckert der Validator:</p>
<blockquote><p> You may have forgotten to &#034;escape&#034; an ampersand (&#038;) character, thus causing the validator to believe that you created a new, undefined entity that starts with &#034;&amp;&#034;. If you wish to cause an &#034;&amp;&#034; to appear within text or a URL, escape it by using &#034;&amp;amp;&#034;.</p></blockquote>
<p>Nein! Ich will keine neue entity eintragen und ich habe auch nicht vergessen das &amp; zu maskieren, ich will es, aber es geht nicht. Ich teste gerade mit phpBB und dem Newsaddon leider werden alle Links mit dem unmaskierten &amp; ausgegeben. Bei <a href="http://blog.hasematzel.de/index.php?entry=54">Haseblog</a> habe ich vor längerem eine Lösung diesbezüglich gesehen, aber anscheinend bin ich zu verpeilt diese Lösung richtig einzusetzen. Das Prinzip dahinter ist aus dem Dokument aus die php.ini zu überschreiben:</p>
<p><code>ini_set("arg_separator.output","&amp;amp;");</code></p>
<p>Das soll in den Dokumentkopf, aber es klappt irgendwie nicht. Ich habe es in Klartextform und innerhalb von <code>&lt;?php ?&gt;</code>, vor dem Doctype und innerhalb von <code>&lt;head&gt;&lt;/head&gt;</code> notiert, aber es nix geändert.</p>
<p>Hat jemand einen Vorschlag?</p>
Keine Tags f&uuml;r diesen Beitrag.]]></content:encoded>
			<wfw:commentRss>http://www.perun.net/2004/05/20/das-geht-mir-richtig-auf-den-sack/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
