Archiv

Archiv für die Kategorie ‘PHP’

SEO-freundliche URL’s version 2

6. Oktober 2008
{lang: 'de'}

vor einigen Monaten habe ich eine Version gepostet, die für die ersten Zwecke ganz gut war, nun hier die zweite Version, die noch ein paar Sonderzeichen mehr umsetzt und auch ein wenig schneller ist.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/** 
 * Wandelt einen String in einen SEO-freundlichen String um 
 * 
 * @copyright 2008 
 * @version 0.2 
 * 
 * @param string $string 
 * @return string 
 */ 
function SEOfriendlyURL($string){ 
    $string = str_replace("ä", "ae", $string); 
    $string = str_replace("ö", "oe", $string); 
    $string = str_replace("ü", "ue", $string); 
    $string = str_replace("ß", "ss", $string); 
    $string = preg_replace("`[.*]`U","",$string); 
    $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$string); 
    $string = htmlentities($string, ENT_COMPAT, 'utf-8'); 
    $string = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i","1", $string ); 
    $string = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $string);     
 
    return strtolower(trim($string, '-'));  
 
}

Arbeit, PHP, SEO ,

Datumsvergleich in PHP superschnell und superkurz

22. Juli 2008
{lang: 'de'}

Man lernt nie aus…

Ich habe es mir zur Angewohnheit gemacht, dass wenn ich ein Datum vergleichen muss, dass ich dieses in das UNIXTIME-Format umwandle. Vorteil des Ganzen ist, dass man schön den Integer-Wert mit “>|<|=” (und Kombinationen daraus) vergleichen kann.
Ich habe es über Jahre recht umständlich gemacht indem ich mktime u.ä. dafür benutzt habe. Heute habe ich durch Zufall die Funktion “strtotime” ergooglet :-) .

Fazit: Toll :-) damit erspare ich mir zwar bloß 2-3 Zeilen Code ist aber bedeutend schneller das Ganze.

Link: http://de2.php.net/manual/de/function.strtotime.php

Beschreibung:
(PHP 4, PHP 5)

strtotime — Wandelt ein beliebiges Datum (englisches Format) in einen UNIX-Zeitstempel (Timestamp) um.
int strtotime ( string $time [, int $now ] )

Diese Funktion erwartet einen String mit einem Datum im englischen Format und versucht diesen in einen Unix-Timestamp umzuwandeln. Versucht wird dies relativ zu dem Timestamp, den Sie mit now angeben. Fehlt diese Angabe, wird die aktuelle Zeit angenommen. Schlägt die Umwandlung fehl, wird -1 zurückgegeben.

Die Funktion strtotime() verhält sich gemäß der Syntax von GNU Date. Daher sollten Sie einen Blick in die GNU Manual Seite » Date Input Formats werfen. Dort wird die gültige Syntax für time beschrieben.

Arbeit, PHP

generieren von SEO-freundlichen URLs in PHP

12. Juli 2007
{lang: 'de'}

Habe mal eine Funktion geschrieben, die es ermöglicht einen string in einen SEO-freundlichen string zu konvertieren:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$test[] = 'Über sieben Brücken mußt du gehen';
$test[] = 'Ich & mein Pferd - [Bei dir zu Hause]';
 
/** 
 * Wandelt einen String in einen SEO-freundlichen String um 
 * 
 * @copyright 2007 
 * @version 0.1 alpha 
 * 
 * @param string $string 
 * @return string 
 */ 
function SEOfriendlyURL ( $string ) {
    $string = strtolower($string);
 
    $search =  Array(' ', 'ß', 'ö', 'ä', 'ü', 'Ö', 'Ä', 'Ü', '&');
    $replace = Array('-','ss','oe','ae','ue','oe','ae','ue', 'und');
    $string = str_replace($search, $replace, $string);
 
    $string = preg_replace('~[^w-]~','-', $string);
    $string = preg_replace('~(-){2,}~','-', $string);
 
    $string = trim($string, '-').'.html';
 
return $string;
}
 
echo (SEOfriendlyURL($test[0]).'<br />');
echo (SEOfriendlyURL($test[1]).'<br />');

Viel Spaß damit!

PHP, SEO