<?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>iTeamWork &#187; O.Kriz</title>
	<atom:link href="http://iteamwork.de/author/realidea/feed" rel="self" type="application/rss+xml" />
	<link>http://iteamwork.de</link>
	<description>Coding Tipps</description>
	<lastBuildDate>Thu, 06 Oct 2011 17:38:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>IE &#8211; you son of a b***</title>
		<link>http://iteamwork.de/ie-you-son-of-a-b.html</link>
		<comments>http://iteamwork.de/ie-you-son-of-a-b.html#comments</comments>
		<pubDate>Thu, 06 Oct 2011 17:38:00 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=118</guid>
		<description><![CDATA[Mal wieder 3 Stunden JS im IE rumdebugged. Was wars am Ende? Alles funktioniert, aber setActive() ist ein reservierter Name im IE &#8230;]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fie-you-son-of-a-b.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fie-you-son-of-a-b.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Mal wieder 3 Stunden JS im IE rumdebugged. Was wars am Ende? Alles funktioniert, aber setActive() ist ein reservierter Name im IE &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/ie-you-son-of-a-b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JAVA] XML Dokument auslesen mittels java.xml.parser</title>
		<link>http://iteamwork.de/java-xml-dokument-auslesen-mittels-java-xml-parser.html</link>
		<comments>http://iteamwork.de/java-xml-dokument-auslesen-mittels-java-xml-parser.html#comments</comments>
		<pubDate>Tue, 05 Oct 2010 05:29:52 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Childelement]]></category>
		<category><![CDATA[Document]]></category>
		<category><![CDATA[DocumentBuilder]]></category>
		<category><![CDATA[DocumentBuilderFactory]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[Element]]></category>
		<category><![CDATA[java.xml.parser]]></category>
		<category><![CDATA[Node]]></category>
		<category><![CDATA[NodeList]]></category>
		<category><![CDATA[Package]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[Tag]]></category>
		<category><![CDATA[TagName]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=77</guid>
		<description><![CDATA[Um eine XML Datei auslesen zu können, benötigt man mehrere Teile des java.xml.parser Package. Zuerst benötigt man eine DocumentBuilderFactory, mit deren Hilfe man einen DocumentBuilder erstellen kann. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance&#40;&#41;; DocumentBuilder db = dbf.newDocumentBuilder&#40;&#41;; Mit Hilfe des gerade erstellten DocumentBuilder kann die XML Datei nun geparst werden. Document dom = db.parse&#40;XmlURL&#41;; Das Document repräsentiert [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fjava-xml-dokument-auslesen-mittels-java-xml-parser.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fjava-xml-dokument-auslesen-mittels-java-xml-parser.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Um eine XML Datei auslesen zu können, benötigt man mehrere Teile des java.xml.parser Package. Zuerst benötigt man eine DocumentBuilderFactory, mit deren Hilfe man einen DocumentBuilder erstellen kann.</p>
<p><span id="more-77"></span>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">DocumentBuilderFactory dbf <span class="sy0">=</span> DocumentBuilderFactory.<span class="me1">newInstance</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">DocumentBuilder db <span class="sy0">=</span> dbf.<span class="me1">newDocumentBuilder</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Mit Hilfe des gerade erstellten DocumentBuilder kann die XML Datei nun geparst werden.</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Adocument+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Document</span></a> dom <span class="sy0">=</span> db.<span class="me1">parse</span><span class="br0">&#40;</span>XmlURL<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Das Document repräsentiert die XML Struktur der vom DocumentBuilder geparsten Quelle. Eine XML Datei besteht aus vielen Elementen. Um auf diese Elemente zuzugreifen verwendet man die Klasse Element.</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aelement+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Element</span></a> docEle <span class="sy0">=</span> dom.<span class="me1">getDocumentElement</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Um nun auf einzelne Elemente zugreifen zu können, muss der Tag Name bekannt sein. Mit dem Tag Name können wir alle Elemente mit diesem Tag Name in eine NodeList speichern.</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">NodeList nl <span class="sy0">=</span> docEle.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&quot;entry&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Um nun den Inhalt eines Elements auszulesen, müssen wir die entsprechende Node auswählen und diese wieder als Element casten. Anschließend kann man mit der Element Methode getFirstChild auf das Kindelement zugreifen. Wenn dies ein Textelement ist, kann der Inhalt mit der Node Methode getNodeValue ausgelesen werden.</p>
<p><a href="http://www.totheriver.com/learn/xml/xmltutorial.html" target="_blank">weitere Infos und Tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/java-xml-dokument-auslesen-mittels-java-xml-parser.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[CSS] Umstieg auf CSS3 machbar</title>
		<link>http://iteamwork.de/css-umstieg-auf-css3-machbar.html</link>
		<comments>http://iteamwork.de/css-umstieg-auf-css3-machbar.html#comments</comments>
		<pubDate>Sat, 02 Oct 2010 11:12:13 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[pie]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=112</guid>
		<description><![CDATA[Websites gestalten in CSS3 ist schön, die Seiten schlank und schnell. Wie so oft gibt es leider Probleme mit dem Internet Explorer. Abhilfe schafft hier CSS3 Pie. Hier downloaden und .htc einbinden]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fcss-umstieg-auf-css3-machbar.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fcss-umstieg-auf-css3-machbar.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Websites gestalten in CSS3 ist schön, die Seiten schlank und schnell. Wie so oft gibt es leider Probleme mit dem Internet Explorer. Abhilfe schafft hier CSS3 Pie. <a href="http://css3pie.com/" target="_blank">Hier downloaden</a> und .htc einbinden</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/css-umstieg-auf-css3-machbar.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JAVA] Verbindung zum Mysql Server aufbauen mittels MySQL Connector/J</title>
		<link>http://iteamwork.de/verbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html</link>
		<comments>http://iteamwork.de/verbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html#comments</comments>
		<pubDate>Wed, 28 Oct 2009 21:31:47 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[-cp]]></category>
		<category><![CDATA[Classpath]]></category>
		<category><![CDATA[connector]]></category>
		<category><![CDATA[connector/j]]></category>
		<category><![CDATA[DriverManager]]></category>
		<category><![CDATA[getConnection]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=45</guid>
		<description><![CDATA[In Java werden Datenbankanbindung über die JDBC Schnittstelle aufgebaut. Hierfür werden für das jeweils benutzte Datenbankmanagement passende Treiber benötigt. Da ich bei der Wahl des Datenbankmanagementsystems auf die kostenlose Variante MySQL gesetzt habe, wird zur Verbindung im Konstruktor der Klasse DatabaseController über den MySQL Connector/J eine neue JDBC Instanz erstellt. Hierfür muss das MySQL-Connector-Java-5.1.7-bin.jar File [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fverbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fverbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In Java werden Datenbankanbindung über die JDBC Schnittstelle aufgebaut. Hierfür werden für das jeweils benutzte Datenbankmanagement passende Treiber benötigt.<br />
<span id="more-45"></span><br />
Da ich bei der Wahl des Datenbankmanagementsystems auf die kostenlose Variante MySQL gesetzt habe, wird zur Verbindung im Konstruktor der Klasse DatabaseController über den MySQL Connector/J eine neue JDBC Instanz erstellt. Hierfür muss das <a href="http://http://dev.mysql.com/downloads/connector/j/5.1.html">MySQL-Connector-Java-5.1.7-bin.jar</a> File zur Kompilierung mit eingebunden werden. Unter der Entwicklungsumgebung ist das Einbinden von jar Libraries über die Projekteigenschaften möglich. Beim händischen kompilieren müssen die .jar –Bibliotheken explizit über den –cp Parameter angegeben werden.</p>
<div class="codesnip-container" >java –cp mysql-connector-java-5.1.7-bin.jar package.ClassName</div>
<p>Die Verbindung vom Typ java.sql.Connection wird über folgenden Aufruf erstellt:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">java.<span class="me1">sql</span>.<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Adrivermanager+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">DriverManager</span></a>.<span class="me1">getConnection</span><span class="br0">&#40;</span>url, user, pass<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/verbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[TOOLS] Visuell Datenbanken entwerfen</title>
		<link>http://iteamwork.de/visuell-datenbanken-entwerfen.html</link>
		<comments>http://iteamwork.de/visuell-datenbanken-entwerfen.html#comments</comments>
		<pubDate>Thu, 20 Aug 2009 00:34:53 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=55</guid>
		<description><![CDATA[Ich habe soeben ein prima Tool zur visuellen Generierung von Datenbankschemata entdeckt: MySQL Workbench. Das ganze ist unter der abgespeckten &#8220;Community Edition&#8220; kostenlos erhältlich und untersützt sowohl reverse als auch forward engineering. (sprich: Bestehende Datenbanken visuell überarbeiten, die Schemata mit der Datenbank synchronisieren, SQL Files erstellen &#8230;.) Hier gehts zur Produktbeschreibung mit Download von MySQL Workbench]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fvisuell-datenbanken-entwerfen.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fvisuell-datenbanken-entwerfen.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Ich habe soeben ein prima Tool zur visuellen Generierung von Datenbankschemata entdeckt: MySQL Workbench.<br />
Das ganze ist unter der abgespeckten &#8220;<strong>Community Edition</strong>&#8220; kostenlos erhältlich und untersützt sowohl reverse als auch forward engineering.<br />
(sprich: Bestehende Datenbanken visuell überarbeiten, die Schemata mit der Datenbank synchronisieren, SQL Files erstellen &#8230;.)</p>
<p><a rel="nofollow" href="http://www.mysql.de/products/workbench/" target="_blank">Hier gehts zur Produktbeschreibung mit Download von MySQL Workbench</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/visuell-datenbanken-entwerfen.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Generator Funktion</title>
		<link>http://iteamwork.de/php-generator-funktion.html</link>
		<comments>http://iteamwork.de/php-generator-funktion.html#comments</comments>
		<pubDate>Tue, 29 Jul 2008 18:05:53 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Snippets]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[gutschein]]></category>
		<category><![CDATA[passwort]]></category>
		<category><![CDATA[rand()]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[srand()]]></category>
		<category><![CDATA[zufall]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=19</guid>
		<description><![CDATA[Hier eine praktische Generatorfunktion für Gutscheincodes, Passwörter etc. function generator($laenge) { //Generator für Passwörter Gutscheine etc! $wert=&#8221;"; $generator_zeichen=&#8217;abcdefghijklmnopqrstuvwxyz&#8217;; $generator_zeichen.=&#8217;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#8217;; $generator_zeichen.=&#8217;0123456789&#8242;; for($a=0; $a&#60;=$laenge-1; $a++) { srand((double)microtime()*1000000); $id = rand (0,sizeof($generator_zeichen)-1); $wert=$wert.$generator_zeichen[$id]; } return $wert; }]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fphp-generator-funktion.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fphp-generator-funktion.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hier eine praktische Generatorfunktion für Gutscheincodes, Passwörter etc.</p>
<p><span id="more-19"></span></p>
<blockquote><p>function generator($laenge)<br />
{<br />
//Generator für Passwörter Gutscheine etc!<br />
$wert=&#8221;";<br />
$generator_zeichen=&#8217;abcdefghijklmnopqrstuvwxyz&#8217;;<br />
$generator_zeichen.=&#8217;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#8217;;<br />
$generator_zeichen.=&#8217;0123456789&#8242;;</p>
<p>for($a=0; $a&lt;=$laenge-1; $a++)<br />
{<br />
srand((double)microtime()*1000000);<br />
$id = rand (0,sizeof($generator_zeichen)-1);<br />
$wert=$wert.$generator_zeichen[$id];<br />
}<br />
return $wert;<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/php-generator-funktion.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Tricks] Regexp: Telefonnummern</title>
		<link>http://iteamwork.de/regexp-telefonnummern.html</link>
		<comments>http://iteamwork.de/regexp-telefonnummern.html#comments</comments>
		<pubDate>Mon, 21 Jul 2008 03:12:04 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[PHP Snippets]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[ausland]]></category>
		<category><![CDATA[innland]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[preg_replace]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regular expressions]]></category>
		<category><![CDATA[reguläre ausdrücke]]></category>
		<category><![CDATA[telefonnummer]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=17</guid>
		<description><![CDATA[Hier mal ein kleines Beispiel für Reguläre Ausdrücke, da viele Programmierer ja hiermit Probleme haben. Bei diesem Beispiel wird eine Telefonnummer im typischen Format umformatiert, für Innland und Ausland User, die die Nummer angezeigt bekommen sollen. $nummer = &#34;+49 (0)123 45678900123&#34;; &#160; $innland = preg_replace&#40;&#8216;/^\+[0-9]{2}\s\(([0-9])\)/&#8217;, &#8216;$1&#8242;, $nummer&#41;; $ausland = preg_replace&#40;&#8216;/^(\+[0-9]{2}\s)\([0-9]\)/&#8217;, &#8216;$1&#8242;, $nummer&#41;; Ausgabe Innland: 0123 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fregexp-telefonnummern.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fregexp-telefonnummern.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hier mal ein kleines Beispiel für Reguläre Ausdrücke, da viele Programmierer ja hiermit Probleme haben.<br />
Bei diesem Beispiel wird eine Telefonnummer im typischen Format umformatiert, für Innland und Ausland User, die die Nummer angezeigt bekommen sollen.</p>
<p><span id="more-17"></span></p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$nummer</span> <span class="sy0">=</span> <span class="st0">&quot;+49 (0)123 45678900123&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$innland</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/^\+[0-9]{2}\s\(([0-9])\)/&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8216;$1&#8242;</span><span class="sy0">,</span> <span class="re0">$nummer</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ausland</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/^(\+[0-9]{2}\s)\([0-9]\)/&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8216;$1&#8242;</span><span class="sy0">,</span> <span class="re0">$nummer</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Ausgabe Innland: 0123 45678900123<br />
Ausgabe Auslang: +49 123 45678900123</p>
<p>Erkärung des Beispiels:</p>
<ul>
<li>zwischen den <strong>Slashes </strong>steht der Suchausdruck, sprich /AUSDRUCK/</li>
</ul>
<ul>
<li>das <strong>^ Zeichen</strong> symbolisiert dem Interpreter, dass hier der Stringanfang ist</li>
</ul>
<ul>
<li><strong>Sonderzeichen </strong>wie Klammern + * etc die gesucht werden müssen mit Backslahen maskiert werden, sprich (a) -&gt; \(\)</li>
</ul>
<ul>
<li><strong>eckige Klammern</strong> geben Wertebereiche an. In unserem Beispiel [0-9] wird also eine Ziffer gesucht</li>
</ul>
<ul>
<li><strong>geschweifte Klammern</strong> geben die Anzahl der Wiederholungen an [0-9]{2} bedeutet 2 Ziffern, [0-9]{2,5} hingegen bedeutet 2-5 Ziffern</li>
</ul>
<ul>
<li><strong>runde Klammern</strong> markieren einen Suchausdruck, der gemerkt werden soll, auf diesen kann man dann der Reihe nach über $1 &#8211; $n bei N Klammerungen zugreifen. Diese Klammern werden nicht maskiert <img src='http://iteamwork.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<ul>
<li>\s steht für ein Whitespace</li>
</ul>
<p>Ich hoffe, ich habe euer Interesse an Regulären Ausdrücken geweckt. Richtig beherscht sind diese sehr sehr mächtig.</p>
<p>So long o.Kriz</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/regexp-telefonnummern.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Alternative zu die(mysql_error());</title>
		<link>http://iteamwork.de/alternative-zu-mysql_querysql-or-diemysql_error.html</link>
		<comments>http://iteamwork.de/alternative-zu-mysql_querysql-or-diemysql_error.html#comments</comments>
		<pubDate>Wed, 28 May 2008 00:33:42 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Snippets]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debug_backtrace()]]></category>
		<category><![CDATA[mysql_error()]]></category>
		<category><![CDATA[mysql_query()]]></category>
		<category><![CDATA[querysql()]]></category>
		<category><![CDATA[querysqlsimple()]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=10</guid>
		<description><![CDATA[Wer kennt das nicht: Ein großes Projekt überall mit SQL-Anfragen gespickt. Um Fehler abzufangen gehen viele so vor: $sql = &#91;SQL-STATEMENT&#93;; &#160; mysql_query&#40;$sql&#41; or die&#40;mysql_error&#40;&#41;&#41;; Nun bekommt man jedoch nur den SQL Error ausgegeben, und kann sich auf eine lange Suche einstellen. Nicht so bei verwenden der debug_backtrace() Funktion. Hier ein praktisches Snippet, teils von [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Falternative-zu-mysql_querysql-or-diemysql_error.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Falternative-zu-mysql_querysql-or-diemysql_error.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Wer kennt das nicht: Ein großes Projekt überall mit SQL-Anfragen gespickt.<br />
Um Fehler abzufangen gehen viele so vor:</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$sql</span> <span class="sy0">=</span> <span class="br0">&#91;</span>SQL<span class="sy0">-</span>STATEMENT<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span> or <a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><a href="http://www.php.net/mysql_error"><span class="kw3">mysql_error</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Nun bekommt man jedoch nur den SQL Error ausgegeben,<br />
und kann sich auf eine lange Suche einstellen.<span id="more-10"></span></p>
<p>Nicht so bei verwenden der debug_backtrace() Funktion.</p>
<p>Hier ein praktisches Snippet, teils von php.net, teils von mir <img src='http://iteamwork.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
So wird im Fehlerfall nicht nur der SQL-Error ausgegeben, sondern<br />
auch jede Stelle, an der er in den Skripten auftritt.</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> querysqlsimple<span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span> <span class="co1">// für simple kommandos wie update, insert…</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$result</span> <span class="sy0">=</span> <a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span> OR dieDebug<span class="br0">&#40;</span><a href="http://www.php.net/mysql_error"><span class="kw3">mysql_error</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> <a href="http://www.php.net/mysql_affected_rows"><span class="kw3">mysql_affected_rows</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> querysql<span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span> <span class="co1">//für select anweisungen</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$result</span> <span class="sy0">=</span> <a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span> OR dieDebug<span class="br0">&#40;</span><a href="http://www.php.net/mysql_error"><span class="kw3">mysql_error</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$result</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> dieDebug<span class="br0">&#40;</span><span class="re0">$sError</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">echo</span> <span class="st0">&quot;&lt;hr /&gt;&lt;div&gt;&lt;b&gt;&quot;</span><span class="sy0">.</span><span class="re0">$sError</span><span class="sy0">.</span><span class="st0">&quot;&lt;/b&gt;&lt;hr /&gt;&lt;br /&gt;&lt;table border=&#8217;1&#8242;&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$sOut</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">;</span> <span class="re0">$aCallstack</span><span class="sy0">=</span><a href="http://www.php.net/debug_backtrace"><span class="kw3">debug_backtrace</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">echo</span> <span class="st0">&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;file&lt;/th&gt;&lt;th&gt;line&lt;/th&gt;&lt;th&gt;function&lt;/th&gt;&quot;</span><span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&quot;&lt;/tr&gt;&lt;/thead&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$aCallstack</span> <span class="kw1">as</span> <span class="re0">$aCall</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$aCall</span><span class="br0">&#91;</span><span class="st_h">&#8216;file&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re0">$aCall</span><span class="br0">&#91;</span><span class="st_h">&#8216;file&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;[PHP Kernel]&#8216;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$aCall</span><span class="br0">&#91;</span><span class="st_h">&#8216;line&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re0">$aCall</span><span class="br0">&#91;</span><span class="st_h">&#8216;line&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">echo</span> <span class="st0">&quot;&lt;tr&gt;&lt;td&gt;{<span class="es4">$aCall</span>[&quot;</span><a href="http://www.php.net/file"><span class="kw3">file</span></a><span class="st0">&quot;]}&lt;/td&gt;&lt;td&gt;{<span class="es4">$aCall</span>[&quot;</span>line<span class="st0">&quot;]}&lt;/td&gt;&quot;</span><span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&quot;&lt;td&gt;{<span class="es4">$aCall</span>[&quot;</span><span class="kw2">function</span><span class="st0">&quot;]}&lt;/td&gt;&lt;/tr&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">echo</span> <span class="st0">&quot;&lt;/table&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/p&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">querysqlsimple<span class="br0">&#40;</span><span class="st0">&quot;UPDATE table SET value=…&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//beispiel für update</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$result</span> <span class="sy0">=</span> querysql<span class="br0">&#40;</span><span class="st0">&quot;SELECT * FROM table …&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//beispiel für select</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$db</span> <span class="sy0">=</span> <a href="http://www.php.net/mysql_fetch_object"><span class="kw3">mysql_fetch_object</span></a><span class="br0">&#40;</span><span class="re0">$result</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&#8230;</span></div>
</li>
</ol>
</div>
</div>
<p>Links:<br />
<a href="http://de2.php.net/debug_backtrace" target="_blank">debug_backtrace() Funktion Erklärung (php.net)<br />
</a><a href="http://de2.php.net/manual/de/function.debug-backtrace.php#65433" target="_blank">dieDebug() Snippet (php.net)</a></p>
<p>Hoffe es hilft euch <img src='http://iteamwork.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/alternative-zu-mysql_querysql-or-diemysql_error.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

