Mit PHP CSV lesen und HTML-Tabellen erzeugen

Kurz und bündig… <?php // Konfiguration $csvFile = „daten.csv“; $firstRowHeader = true; $maxRows = 10; // Daten auslesen und Tabelle generieren $handle = fopen($csvFile, „r“); $counter = 0; echo „<table class=\“csvTable\“>“; while(($data = fgetcsv($handle, 999, „;“)) && ($counter < $maxRows)) { echo „<tr>“; if(($counter == 0) && $firstRowHeader) { echo „<th>“.$data[0].“</th>“; echo „<th>“.$data[1].“</th>“; echo „<th>“.$data[2].“</th>“; […]

Weiterlesen

Einfacher Spamschutz für E-Mail-Adressen

Einfacher aber effektiver Spamschutz für E-Mail-Adressen mit Javascript und jQuery. Ist JavaScript deaktiviert, erscheint nur info [at] domain.com. <script type=“text/javascript“ src=“jquery.js“></script> <script type=“text/javascript“> $(function(){ $(‚.email‘).each(function(index) { var s = $(this).text().replace(“ [at] „, „&#64;“); $(this).html(„<a href=\“mailto:“ + s + „\“>“ + s + „</a>“); }); }); </script> Aus: info [at] domain.com wird: info@domain.com Im Quelltext die E-Mail-Adressen in span-Tags mit […]

Weiterlesen

WordPress Plugins beim Einsatz als CMS

WordPress eignet sich für kleine, einfache Websites auch ganz gut als CMS. Es ist schnell eingerichtet, bietet viele Erweiterungen und ganz wichtig – der Kunde findet sich sehr schnell zurecht. Oft habe ich sogar nur am Telefon „geschult“. Grundlage ist immer ein einfaches CMS-Template. Artikel, Kommentare usw. – alles was nicht gebraucht wird ist deaktiviert. Neben […]

Weiterlesen

Mehrsprachige Websites kodieren

Ich musste mal ein PHP-Frameworks für englische, russische, chinesische und arabische Inhalte entwickeln. Im Internet findet sich dazu auch eine Vielzahl von Artikeln, über die „richtige“ Kodierung von mehrsprachigen Websites. Wie lassen sich also z.B. kyrillische, chinesische oder auch arabische Zeichen korrekt darstellen. Leider widersprechen sich manche der Tipps. Daher nun meine Vorgehendweise (getestet auf […]

Weiterlesen

ASP.NET: Twitter Feeds per XmlDataSource- und Repeater-Control in Websites einbinden

RSS- bzw. Atom-Feeds von Twitter, Blogs usw. lassen sich sehr einfach mit dem XmlDataSource-Control in die eigene Website einbinden. Dazu ist quasi keine einzige Zeile „richtiger“ Code notwendig, sonder lediglich zwei ASP.NET-Controls. Das Beispiel bezieht sich explizit auf einen Twitter Atom-Feed, lässt sich aber an jeden beliebigen anderen Feed anpassen. Wichtig: Immer genau die XML-Struktur […]

Weiterlesen

ASP.NET: Einfache Log-Datei schreiben

Muss mal schnell was mitgeloggt werden, bietet sich z.B. der StreamWriter an. using System.IO; … string fileName = String.Format(„log-{0}.txt“, DateTime.Now.ToString(„yyyy-MM-dd“)); string dataRow = String.Format(„{0}; {1}; {2}“, DateTime.Now, var1, var2); StreamWriter myFile = new StreamWriter(Server.MapPath(„~/App_Data/“ + fileName), true); myFile.WriteLine(dataRow); myFile.Close();

Weiterlesen

ASP.NET: Canonical-Link-Tag dynamisch anpassen und einfügen

Doppelte Inhalte mögen Suchmaschinen bekanntermaßen nicht. Doch meistens können Webseiten über http://domain.de und http://www.domain.de erreicht werden. Für die Suchmaschine sind das zwei unterschiedliche Dinge. Ein recht einfacher Ansatz mit ASP.NET kann so aussehen: // using System.Web.UI.HtmlControls; HtmlLink canonicalLink = new HtmlLink(); canonicalLink.Attributes[„rel“] = „canonical“; canonicalLink.Href = Request.Url.AbsoluteUri.Replace(„www.“, „“); Page.Header.Controls.Add(canonicalLink); Das ganze kommt dann z.B. in den Event-Handler Page_Load (Master-Datei, […]

Weiterlesen

ASP.NET: Telefonliste mit Initiale per Repeater auflisten

Hier mal ein Quick ’n‘ Dirty-Ansatz einer Telefonliste mit Initialen. .aspx <asp:Repeater ID=“Repeater1″ runat=“server“> <HeaderTemplate> <table> </HeaderTemplate> <ItemTemplate> <%#SetInitial(Eval(„Nachname“).ToString())%> <tr> <td><a href=“profil.aspx?ID=<%#Eval(„ID“)%>“> <%#Eval(„Nachname“)%>, <%#Eval(„Vorname“)%></a></td> <td><%#Eval(„Telefon“)%></td> <td><%#Eval(„EMail“)%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> .aspx.cs // C# private char initialOld; public string SetInitial(string lastName) { char initial = Convert.ToChar(lastName.Substring(0, 1).ToUpper()); if (initial == ‚Ä‘) initial = ‚A‘; […]

Weiterlesen