Изменить пробелы на - - PullRequest
       21

Изменить пробелы на -

0 голосов
/ 22 октября 2009

Я вставляю поле Alias ​​для моей базы данных с именем $ alias. как я кодирую (я использую php для вставки mysql) удалить все пробелы и заменить пробел на «-» (пытаясь изменить его на «формат weburl», т.е. удалить пробелы)

Спасибо

Ответы [ 2 ]

1 голос
/ 22 октября 2009

Вот метод, который я использую для санации строк для URL SEF:

    $slug = trim(strtolower($value));
    $slug = preg_replace('/[^a-z0-9 _-]/', '', $slug);
    return preg_replace('/\s+/', '-', $slug);

Не стесняйтесь добавлять дополнительные разрешенные символы к первому регулярному выражению.

Обратите внимание, что это НЕ Юникод или даже не полностью безопасный ISO-8891, ну, это так, но он пропустит все, что не a-z. То есть вам может потребоваться предварительно нормализовать строку (т.е. заменить акцентированные символы их закрывающим эквивалентом ASCII.) Есть несколько вопросов и ответов по этому вопросу, которые я видел ранее, но я не могу найти их в момент Я отредактирую их здесь, если наткнусь на них.

0 голосов
/ 22 октября 2009

Для простого удаления пробелов вам нужен метод str_replace . Однако при работе с URL вы, возможно, захотите рассмотреть методы urlencode и rawurlencode .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...