Strip PHP-variabele, vervang witte ruimtes met streepjes

Hoe kan ik een PHP-variabele converteren van “My Company & AMP; My Name” naar “My-Company-My-Name”?

Ik moet het allemaal in kleine letters maken, alle speciale tekens verwijderen en spaties vervangen door streepjes.


Antwoord 1, Autoriteit 100%

Deze functie maakt een SEO-vriendelijke string

function seoUrl($string) {
    //Lower case everything
    $string = strtolower($string);
    //Make alphanumeric (removes all other characters)
    $string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
    //Clean up multiple dashes or whitespaces
    $string = preg_replace("/[\s-]+/", " ", $string);
    //Convert whitespaces and underscore to dash
    $string = preg_replace("/[\s_]/", "-", $string);
    return $string;
}

zou goed moeten zijn 🙂


Antwoord 2, Autoriteit 3%

YOP, en als u speciale tekens wilt verwerken, moet u ze in het patroon declareren, anders kunnen ze worden gespoeld. Mogelijk kunt u het op die manier doen:

strtolower(preg_replace('/-+/', '-', preg_replace('/[^\wáéíóú]/', '-', $string)));

Antwoord 3, Autoriteit 3%

Specifieke tekens vervangen:
http://se.php.net/manual/en/function.str -Replace.php

Voorbeeld:

function replaceAll($text) { 
    $text = strtolower(htmlentities($text)); 
    $text = str_replace(get_html_translation_table(), "-", $text);
    $text = str_replace(" ", "-", $text);
    $text = preg_replace("/[-]+/i", "-", $text);
    return $text;
}

Other episodes