<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>derUwe.de &#187; PHP</title>
	<atom:link href="http://deruwe.de/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://deruwe.de</link>
	<description>mein Streifzug durchs Web</description>
	<lastBuildDate>Sat, 26 Jun 2010 10:45:28 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Adressgenerator als CSV exportieren</title>
		<link>http://deruwe.de/2010/05/adressgenerator-als-csv-exportieren.html</link>
		<comments>http://deruwe.de/2010/05/adressgenerator-als-csv-exportieren.html#comments</comments>
		<pubDate>Fri, 21 May 2010 12:06:43 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Praxis]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=471</guid>
		<description><![CDATA[Es gab einen Kommentar in meinem Beitrag zum Adressgenerator, welcher dynamisch Personen mit zufälliger Adresse generiert. Da wurde nach der Lösung gefragt wie man dieses als CSV Datei exportieren kann. Hier die Lösung. &#60;?php &#160; &#160;&#160;&#160;&#160;include_once&#160;'generator.php';&#160; &#160; &#160;&#160;&#160;&#160;//&#160;Geschlecht&#160;der&#160;Adressen: &#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$geschlecht=0&#160;-&#62;&#160;egal &#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$geschlecht=1&#160;-&#62;&#160;Mann &#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$geschlecht=2&#160;-&#62;&#160;Frau &#160;&#160;&#160;&#160;$geschlecht=0; &#160; &#160;&#160;&#160;&#160;//&#160;wieviele&#160;Adressen: &#160;&#160;&#160;&#160;$count&#160;=&#160;10; &#160; &#160;&#160;&#160;&#160;//&#160;gibt&#160;an&#160;was&#160;für&#160;einen&#160;Header,&#160;eigentlich&#160;egal,&#160;aber&#160;&#34;schöner&#34;&#160;für&#160;den&#160;Browser &#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$header='test/plain'&#160;&#160;&#160;&#160;-&#62;&#160;Text &#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$header='text/csv'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-&#62;&#160;CSV&#160;Datei &#160;&#160;&#160;&#160;$header&#160;=&#160;'text/plain'; &#160; &#160;&#160;&#160;&#160;//&#160;Datei&#160;explizit&#160;zum&#160;Download&#160;anbieten &#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$download=true&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-&#62;&#160;ja &#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$download=false&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-&#62;&#160;nein &#160;&#160;&#160;&#160;$download&#160;=&#160;false; [...]]]></description>
			<content:encoded><![CDATA[<p>Es gab einen Kommentar in meinem Beitrag zum <a href="http://deruwe.de/2009/11/adressgenerator.html">Adressgenerator</a>, welcher dynamisch Personen mit zufälliger Adresse generiert. Da wurde nach der Lösung gefragt wie man dieses als CSV Datei exportieren kann. Hier die Lösung.<br />
<span id="more-471"></span><br />
<code>&lt;?php<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;include_once&nbsp;'generator.php';&nbsp;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Geschlecht&nbsp;der&nbsp;Adressen:<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$geschlecht=0&nbsp;-&gt;&nbsp;egal<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$geschlecht=1&nbsp;-&gt;&nbsp;Mann<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$geschlecht=2&nbsp;-&gt;&nbsp;Frau<br />
&nbsp;&nbsp;&nbsp;&nbsp;$geschlecht=0;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;wieviele&nbsp;Adressen:<br />
&nbsp;&nbsp;&nbsp;&nbsp;$count&nbsp;=&nbsp;10;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;gibt&nbsp;an&nbsp;was&nbsp;für&nbsp;einen&nbsp;Header,&nbsp;eigentlich&nbsp;egal,&nbsp;aber&nbsp;&quot;schöner&quot;&nbsp;für&nbsp;den&nbsp;Browser<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$header='test/plain'&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;Text<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$header='text/csv'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;CSV&nbsp;Datei<br />
&nbsp;&nbsp;&nbsp;&nbsp;$header&nbsp;=&nbsp;'text/plain';<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Datei&nbsp;explizit&nbsp;zum&nbsp;Download&nbsp;anbieten<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$download=true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;ja<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$download=false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;nein<br />
&nbsp;&nbsp;&nbsp;&nbsp;$download&nbsp;=&nbsp;false;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;gibt&nbsp;an&nbsp;wie&nbsp;die&nbsp;Daten&nbsp;in&nbsp;einer&nbsp;Zeile&nbsp;getrennt&nbsp;sind&nbsp;(wichtig:&nbsp;&quot;doppelte&quot;&nbsp;Anführungszeichen)<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$linebreak&nbsp;=&nbsp;&quot;;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;Trenner&nbsp;ist&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$linebreak&nbsp;=&nbsp;&quot;|&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;Trenner&nbsp;ist&nbsp;|<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$linebreak&nbsp;=&nbsp;&quot;\t&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;Trenner&nbsp;ist&nbsp;Tabulator<br />
&nbsp;&nbsp;&nbsp;&nbsp;$databreak&nbsp;=&nbsp;&quot;;&quot;;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;gibt&nbsp;an&nbsp;was&nbsp;für&nbsp;ein&nbsp;Zeilenumbruch&nbsp;(wichtig:&nbsp;&quot;doppelte&quot;&nbsp;Anführungszeichen)<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$linebreak&nbsp;=&nbsp;&quot;\r\n&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;Trenner&nbsp;für&nbsp;Windows<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$linebreak&nbsp;=&nbsp;&quot;\n&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;Trenner&nbsp;für&nbsp;Linux/Unix<br />
&nbsp;&nbsp;&nbsp;&nbsp;$linebreak&nbsp;=&nbsp;&quot;\n&quot;;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Ort&nbsp;und&nbsp;PLZ&nbsp;auch&nbsp;trennen?<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$splitLocation&nbsp;=&nbsp;true&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;wird&nbsp;getrennt,&nbsp;$databreak&nbsp;ist&nbsp;das&nbsp;Trennzeichen<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$splitLocation&nbsp;=&nbsp;false&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;wird&nbsp;nicht&nbsp;getrennt,&nbsp;Leerzeichen&nbsp;als&nbsp;Trenner<br />
&nbsp;&nbsp;&nbsp;&nbsp;$splitLocation&nbsp;=&nbsp;true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//----------------------------<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;CSV&nbsp;Datei&nbsp;generieren<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;header('Content-Type:&nbsp;'.$header,true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($download)&nbsp;header('Content-Disposition:&nbsp;attachment;&nbsp;filename=&quot;Adressen.csv&quot;',true);&nbsp;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for($i=0;$i&lt;$count;$i++)&nbsp;{<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a&nbsp;=&nbsp;new&nbsp;Adresse();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$adress&nbsp;=&nbsp;$a-&gt;get($geschlecht);<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;ggf.&nbsp;hier&nbsp;Reihenfolge&nbsp;anpassen:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$adress['vorname']&nbsp;&nbsp;&nbsp;&nbsp;.$databreak;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$adress['nachname'].$databreak;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$adress['strasse']&nbsp;&nbsp;&nbsp;&nbsp;.$databreak;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$adress['nummer']&nbsp;&nbsp;&nbsp;&nbsp;.$databreak;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($splitLocation)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PLZ/Ort&nbsp;trennen<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmp&nbsp;=&nbsp;explode(&quot;&nbsp;&quot;,$adress['ort'],2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$tmp[0].$databreak;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$tmp[1].$databreak;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PLZ/Ort&nbsp;nicht&nbsp;trennen<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$adress['ort'].$databreak;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$linebreak;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
?&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2010/05/adressgenerator-als-csv-exportieren.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adressgenerator</title>
		<link>http://deruwe.de/2009/11/adressgenerator.html</link>
		<comments>http://deruwe.de/2009/11/adressgenerator.html#comments</comments>
		<pubDate>Fri, 27 Nov 2009 14:54:20 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Praxis]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=441</guid>
		<description><![CDATA[Ich mag Personensuchmaschinen nicht. Also warum nicht mal spaßeshalber einen Generator für zufällige Personen bzw. Adressen bauen? Nette Idee wie ich fand, also mal schnell was zusammen gefummelt. Die nachfolgende PHP-Klasse erzeugt eine zufällige Adresse. Dazu werden die Textdateien benötigt, in welchen ich in Handarbeit Namen, Straßennamen sowie Postleitzahlen und Orte (unabhängig voreinander) zusammengesammelt habe. [...]]]></description>
			<content:encoded><![CDATA[<p>Ich mag Personensuchmaschinen nicht. Also warum nicht mal spaßeshalber einen Generator für zufällige Personen bzw. Adressen bauen? Nette Idee wie ich fand, also mal schnell was zusammen gefummelt.<span id="more-441"></span></p>
<p>Die nachfolgende PHP-Klasse erzeugt eine zufällige Adresse. Dazu werden die Textdateien benötigt, in welchen ich in Handarbeit Namen, Straßennamen sowie Postleitzahlen und Orte (unabhängig voreinander) zusammengesammelt habe. Aus diesem Pool generiert die PHP-Klasse einen zufällige Namen mit Postanschrift.</p>
<p>Bei diesen so erzeugten Adressen paßt jeweils die Postleitzahl auch zum Ort. Möchte jemand die Echtheit einer solchen Fake-Adresse überprüfen bzw. feststellen ob dies ein Fake ist, bräuchte er eine gute Datenbank über alle Straßennamen vor Ort bzw. echte Adressdaten zum Abgleich. Es läßt sich also mit hoher Wahrscheinlichkeit nicht technisch feststellen, ob es sich um eine echte Adresse handelt. Natürlich wird es auch seltene Fälle geben wo die Person und deren Adresse wirklich stimmt. Das bleibt allerdings dem Zufall überlassen.</p>
<p>Folgende Datensätze sind enthalten</p>
<ul>
<li><a href="http://deruwe.de/dateien/2009/11/vornamen_mann.txt">1249 männliche Vornamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/vornamen_frau.txt">1695 weibliche Vornamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/nachnamen.txt">3421 Nachnamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/strassen.txt">7275 Straßennamen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/plz-ort.txt">13749 (deutsche) Ortsnamen mit Postleitzahl</a></li>
</ul>
<p>Damit sind rein rechnerisch ~1.000.000.000.000.000 verschiedene Personen generierbar, wenn man die Hausnummern noch nicht einmal in die Rechnung mit einbezieht.</p>
<p>Bei den Vor- und Nachnamen habe ich versucht darauf zu achten, dass sie nicht all zu exotisch sind. Ich hoffe es ist gelungen. Wer die Daten einsetzt, sollte prüfen ob sein Namen darin vorkommt und ihn nötigenfalls nachtragen.</p>
<p>Lizenz gibt es keine &#8211; macht damit was ihr wollt. Ich würde mich allerdings über einen Link auf meine Seite freuen.</p>
<ul>
<li><a href="http://deruwe.de/beispiele/adressgenerator/">Testseite ansehen</a></li>
<li><a href="http://deruwe.de/dateien/2009/11/AdressGenerator.zip">Download PHP-Klasse (inkl. Daten)</a></li>
<li><a href="http://deruwe.de/2010/05/adressgenerator-als-csv-exportieren.html">Adressgenerator als CSV exportieren</a></li>
</ul>
<p>Viel Spaß beim Spielen ;)</p>
<h2>Quellcode der PHP-Klasse</h2>
<p><code>&lt;?php<br />
&nbsp;<br />
class&nbsp;Adresse&nbsp;{<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Dateien&nbsp;sind&nbsp;in&nbsp;uft-8<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileVornamenFrau&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./vornamen_frau.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileVornamenMann&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./vornamen_mann.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileVornamenEgal&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./vornamen_egal.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileNachnamen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./nachnamen.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$fileStrassen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./strassen.txt';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$filePlzOrt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'./plz-ort.txt';<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=0&nbsp;-&gt;&nbsp;egal<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=1&nbsp;-&gt;&nbsp;Mann<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=2&nbsp;-&gt;&nbsp;Frau<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;array<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;get($geschlecht=0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'vorname'=&gt;$this-&gt;getVorname($geschlecht),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'nachname'=&gt;$this-&gt;getNachname(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'strasse'=&gt;$this-&gt;getStrasse(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'nummer'=&gt;$this-&gt;getHausnummer(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ort'=&gt;$this-&gt;getPlzOrt()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=0&nbsp;-&gt;&nbsp;egal<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=1&nbsp;-&gt;&nbsp;Mann<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=2&nbsp;-&gt;&nbsp;Frau<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getHTML($geschlecht=0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'&lt;address&gt;'.&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;getVorname($geschlecht).'&nbsp;'.$this-&gt;getNachname().'&lt;br&nbsp;/&gt;'.&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;getStrasse().'&nbsp;'.$this-&gt;getHausnummer().'&lt;br&nbsp;/&gt;'.&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;getPlzOrt().&quot;\n&quot;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;/address&gt;'.&quot;\n&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;----------------------------------&nbsp;internal&nbsp;--------------------------------------&nbsp;*/<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=0&nbsp;-&gt;&nbsp;egal<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=1&nbsp;-&gt;&nbsp;Mann<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$geschlecht=2&nbsp;-&gt;&nbsp;Frau<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getVorname($geschlecht=0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch&nbsp;($geschlecht)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;1:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileVornamenMann);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;2:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileVornamenFrau);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileVornamenEgal);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getNachname()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileNachnamen);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getHausnummer($min=1,$max=99)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;=&nbsp;rand($min,$max);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(rand(0,100)&lt;=20)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;fügt&nbsp;mit&nbsp;20%&nbsp;Wahrscheinlichkeit&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;einen&nbsp;Buchstaben&nbsp;zur&nbsp;Nummer&nbsp;hinzu<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$buchstaben&nbsp;=&nbsp;array('a','b','c');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;.=&nbsp;$buchstaben[rand(0,(count($buchstaben)-1))];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$result.'';<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getStrasse()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;fileStrassen);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getPlzOrt()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_getRandomLine($this-&gt;filePlzOrt);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;return&nbsp;string<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;_getRandomLine($file)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list&nbsp;=&nbsp;@file($file);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!is_array($list)&nbsp;||&nbsp;count($list)&nbsp;&lt;&nbsp;1)&nbsp;return&nbsp;false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;trim($list[rand(0,(count($list)-1))]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
&nbsp;<br />
?&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/11/adressgenerator.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Code in WordPress einfügen</title>
		<link>http://deruwe.de/2009/08/code-in-wordpress-einfugen.html</link>
		<comments>http://deruwe.de/2009/08/code-in-wordpress-einfugen.html#comments</comments>
		<pubDate>Sun, 16 Aug 2009 22:46:38 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=92</guid>
		<description><![CDATA[Ich hatte für meinen Neustart mit WordPress einige alte Inhalte einzupflegen. Diese enthalten jede Menge Code-Beispiele und ich mußte mit Entsetzen feststellen WordPress macht es einem da nicht leicht. Also ran ans Werk und eine Lösung gesucht. Eine für mich akzeptable habe ich auch gefunden. Ich laß von diversen Workarounds, Plugins und Workarounds zu Plugins, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte für meinen Neustart mit WordPress einige alte Inhalte einzupflegen. Diese enthalten jede Menge Code-Beispiele und ich mußte mit Entsetzen feststellen WordPress macht es einem da nicht leicht. Also ran ans Werk und eine Lösung gesucht. Eine für mich akzeptable habe ich auch gefunden. </p>
<p><span id="more-92"></span></p>
<p>Ich laß von diversen Workarounds, Plugins und Workarounds zu Plugins, weil keines das so richtig kann wie es das idealerweise sein sollte.</p>
<p>Fast jedem Beitrag war zu entnehmen, dass man die visuelle Ansicht im Editor alles wieder kaputt macht. Diese benötige ich sowieso nur selten, da ich reines HTML bevorzuge. Doch auch in der HTML-Ansicht kann WordPress den Code wieder zerschießen wenn er falsch eingegeben war.</p>
<h2>meine Lösung &#8211; ohne Plugins</h2>
<p>Daher habe ich mir ein kleines PHP-Script gebaut. In dieses wird einfach der einzufügende Code eingefügt (was für ein tolles Deutsch) und das Script erzeugt mir daraus einfügbaren &#8220;Code&#8221;. Und das alle ohne das ich das pre Tag benutzen muss, was bei WordPress anscheinend schlecht unterstützt ist. (So zumindest mein erster Eindruck)</p>
<p>Den erzeugten Code einfach per Copy &#038; Paste ins WordPress Editor-Fenster übernehmen und fertig. Leerzeile vorher und nachher nicht vergessen und alles wird sauber formatiert. Und es bleibt auch so &#8211; bis man wieder die visuelle Darstellung benutzt :( </p>
<p>Hier der Code &#8211; das Script ist &#8220;standalone&#8221; und kann irgendwo auf dem Webspace abgelegt werden.</p>
<p><code>&lt;!DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;&quot;-//W3C//DTD&nbsp;HTML&nbsp;4.01//EN&quot;&nbsp;&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;<br />
&lt;html&gt;&lt;head&gt;&lt;title&gt;Code-Helper&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;?php&nbsp;<br />
&nbsp;<br />
$tab_to_space&nbsp;=&nbsp;4;<br />
&nbsp;<br />
if&nbsp;($_POST['code'])&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'&lt;h1&gt;Code-Helper&lt;/h1&gt;&lt;h3&gt;Ready..&nbsp;:)&lt;/h3&gt;&lt;p&gt;&lt;a&nbsp;href=&quot;'.$_SERVER['PHP_SELF'].'&quot;&gt;Restart&lt;/a&gt;&lt;/p&gt;';<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'&lt;form&gt;&lt;p&gt;&lt;textarea&nbsp;name=&quot;code&quot;&nbsp;cols=&quot;50&quot;&nbsp;rows=&quot;20&quot;&nbsp;style=&quot;width:&nbsp;90%;&nbsp;margin:&nbsp;5px;&quot;&gt;'.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;htmlspecialchars('&lt;code&gt;'.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_replace(array(&quot;\r&quot;,&quot;\n\n&quot;,&quot;\t&quot;,'&nbsp;'),array('',&quot;\n&nbsp;\n&quot;,str_repeat('&nbsp;',$tab_to_space),'&amp;nbsp;'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;htmlspecialchars(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((get_magic_quotes_gpc())&nbsp;?&nbsp;stripslashes($_POST['code'])&nbsp;:&nbsp;$_POST['code'])<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).'&lt;/code&gt;'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).'&lt;/textarea&gt;&lt;/p&gt;&lt;/form&gt;';<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'&lt;p&gt;&lt;a&nbsp;href=&quot;'.$_SERVER['PHP_SELF'].'&quot;&gt;Restart&lt;/a&gt;&lt;/p&gt;';<br />
}&nbsp;else&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;?&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;Code-Helper&lt;/h1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;Paste&nbsp;your&nbsp;code&nbsp;here&lt;/p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;method=&quot;post&quot;&gt;&lt;p&gt;&lt;textarea&nbsp;name=&quot;code&quot;&nbsp;cols=&quot;50&quot;&nbsp;rows=&quot;20&quot;&nbsp;style=&quot;width:&nbsp;90%;&nbsp;margin:&nbsp;5px;&quot;&gt;&lt;/textarea&gt;&lt;/p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&lt;input&nbsp;type=&quot;submit&quot;&nbsp;value=&quot;&nbsp;send&nbsp;&quot;&gt;&nbsp;&lt;input&nbsp;type=&quot;reset&quot;&nbsp;value=&quot;&nbsp;cancel&nbsp;&quot;&gt;&lt;/p&gt;&lt;/form&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php<br />
}<br />
?&gt;&lt;/body&gt;</code></p>
<p>Wer es direkt ausprobieren möchte hier meine Live-Demo</p>
<ul>
<li><a href="http://deruwe.de/beispiele/codehelper/">Code-Helper Script</a></li>
</ul>
<p>Das Ersetzen der Tabstops ist für mich passend gelöst, wer es anders benötigt muss selbst Hand anlegen oder das Script um weitere Eingabefelder (z.B. Anzahl der Leerzeichen je Tabstop) ergänzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/08/code-in-wordpress-einfugen.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
