Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort
Vorwort
1 PEAR – Einführung
2 Authentication
3 Caching
4 Date and Time
5 File Formats
6 HTTP
7 Internationalization
8 Mail
9 Networking
10 PHP
11 Text
12 Web Services
13 Benchmarking
14 Configuration
15 Database
16 File System
17 HTML
18 Images
19 Logging
20 Math
21 Numbers
22 Tools and Utilities
23 XML
24 Selbst Pakete erstellen
25 PECL
Index

Download:
- ZIP, ca. 5,3 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
PHP PEAR von Carsten Möhrke
Anwendung und Entwicklung – Erweiterungen für PHP schreiben
Buch: PHP PEAR

PHP PEAR
798 S., 39,90 Euro
Galileo Computing
ISBN 3-89842-580-0
gp 9 Networking
  gp 9.1 Net_IPv4
  gp 9.2 Net_IPv6
  gp 9.3 Net_FTP
  gp 9.4 Net_POP3
  gp 9.5 Net_SMTP
  gp 9.6 Net_CheckIP
  gp 9.7 Net_IDNA
  gp 9.8 Net_Curl
  gp 9.9 Net_Socket
  gp 9.10 Net_UserAgent_Detect


Galileo Computing

9.7 Net_IDNA  toptop


Besprochene Version: 0.5.0 Lizenz: LGPL
Klassendatei(en): Net/IDNA/php5.php

Net_IDNA ist eine Klasse, die es Ihnen erleichtert, mit internationalen Domainnamen umzugehen. Seit geraumer Zeit sind in vielen Toplevel-Domains wie .de oder .com Domainnamen mit Sonderzeichen wie www.möhrke.com zulässig. Da Sonderzeichen wie ä, ö oder ß nicht kompatibel mit dem Domain Name System sind, werden solche Domainnamen in den so genannten Punycode übersetzt. Net_IDNA nimmt diese Konvertierung für Sie vor bzw. konvertiert auch wieder aus dem Punycode zurück. Bitte beachten Sie dabei, dass das ß leider einfach durch ein ss dargestellt wird.

In diesem Paket sind zwei unterschiedliche Dateien für PHP 4 und 5 vorgesehen, in denen die Klassen auch unterschiedlich benannt sind. Nachfolgend werde ich mich nur auf PHP 5 beziehen.

Die Nutzung ist denkbar einfach, da Sie nur zwei Methoden benötigen. Ein wenig gewöhnungsbedürftig mag allerdings sein, dass die Methoden auf Basis von UTF-8 arbeiten. Ein- und Ausgaben müssen somit konvertiert werden, wenn Sie – was wahrscheinlich ist – ISO-8859–1 nutzen.

require_once('Net/IDNA/php5.php'); 
$coder=new Net_IDNA_php5(); 
 
$domain = utf8_encode('www.möhrke.com'); 
 
echo $coder->encode($domain);

Listing 9.9 Konvertierung nach Punycode

Als Ergebnis von Listing 9.9 wird der String www.xn--mhrke-jua.com ausgegeben. Geben Sie diesen in einen Browser ein, werden Sie an die korrekte Domain www.möhrke.com weitergeleitet.

Die Umkehrmethode decode() ist ein wenig umständlicher zu handhaben, da sie nur den reinen Domainnamen ohne www und Toplevel-Domain akzeptiert:

require_once("Net/IDNA/php5.php"); 
$coder=new Net_IDNA_php5(); 
 
// Domain uebergeben 
$domain = 'www.xn--mhrke-jua.com'; 
// Domain aufteilen 
$daten = explode('.',$domain); 
// Nur den eigentlichen Domainnamen dekodieren 
$dom_utf8=$coder->decode($daten[1]); 
// von UTF-8 nach ISO wandeln und ausgeben 
$dom_iso=utf8_decode($dom_utf8); 
echo "$daten[0].$dom_iso.$daten[2]";

Listing 9.10 Dekodierung einer Domain in Punycode

Auch wenn ich in diesen Beispielen keinen Wert auf die Fehlerbehandlung gelegt habe, möchte ich doch darauf hinweisen, dass die Fehler in diesem Paket auf Basis von Exceptions behandelt werden.

 <<   zurück
     
  Zum Katalog
Zum Katalog: PHP PEAR
PHP PEAR
Jetzt bestellen!
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


Zum Katalog: PHP 5 und MySQL 5






 PHP 5 und MySQL 5


Zum Katalog: Web Content Management mit PHP 5 und MySQL 5






 Web Content
 Management mit
 PHP 5 und MySQL 5


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Webseiten programmieren und gestalten






 Webseiten
 programmieren
 und gestalten


Zum Katalog: CSS-Praxis






 CSS-Praxis


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de