Подтвердить что ты не робот

Измените переменную php, замените белые пробелы пунктиром

Как я могу преобразовать переменную PHP из "Моя компания и мое имя" в "my-company-my-name"?

Мне нужно сделать все в нижнем регистре, удалить все специальные символы и заменить пробелы тире.

4b9b3361

Ответ 1

Эта функция создаст дружественную для SEO строку

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;
}

должно быть хорошо:)

Ответ 2

Замена определенных символов: http://se.php.net/manual/en/function.str-replace.php

Пример:

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;
}

Ответ 3

Yop, и если вы хотите обрабатывать любые специальные символы, вам нужно объявить их в шаблоне, иначе они могут быть сброшены. Вы можете сделать это так:

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