2016-07-24 23 views
2

enter image description herePHP-Funktion permalink wie Wordpress

hallo erstellen i PHP-Funktion will permalink wie Wordpress erstellen, die auch Unicode-Zeichen zu unterstützen. Momentan benutze ich unten funktionierend gut, aber nicht Unicode-Charakter.

function create_slug_html($string, $ext='.html'){  
    $replace = '-';   
    $string=strtolower($string);  
    $string=trim($string); 
    //remove query string  
    if(preg_match("#^http(s)?://[a-z0-9-_.]+\.[a-z]{2,4}#i",$string)){   
     $parsed_url = parse_url($string);   
     $string = $parsed_url['host'].' '.$parsed_url['path'];   
     //if want to add scheme eg. http, https than uncomment next line   
     //$string = $parsed_url['scheme'].' '.$string;  
    }  
    //replace/and . with white space  
    $string = preg_replace("/[\/\.]/", " ", $string);  
    $string = preg_replace("/[^a-z0-9_\s-]/", "", $string);  
    //remove multiple dashes or whitespaces  
    $string = preg_replace("/[\s-]+/", " ", $string);  
    //convert whitespaces and underscore to $replace  
    $string = preg_replace("/[\s_]/", $replace, $string);  
    //limit the slug size  
    $string = substr($string, 0, 100);  
    //slug is generated  
    return ($ext) ? $string.$ext : $string; 

}

schlagen mir jede Änderung oder neuen Code

Antwort

1

können Sie functions prefixed with mb verwenden multibyte Unterstützung, zum Beispiel mb_ereg_replace statt preg_replace verwenden. Andere umfassen mb_substr und mb_strtolower.

Allerdings müssen Sie die Codierung angeben, da die Standardcodierung UTF-8 und nicht Unicode ist. Dies geschieht mit mb_regex_encoding.

Verwandte Themen