Я пытаюсь избавиться от некоторых символов в строке. Строка будет отправлена по форме (метод: POST). Мне нужно получить строчную строку. Символы ä, ö, ü и ß должны стать ae, oe, ue и ss. Все другие специальные символы и пробелы должны быть удалены.Создайте строку slug из заголовка
Строка
Lorem_ipsum_Ö-ß &änyOther char
должен стать
lorem-ipsum-oe-ss-aenyother-char
Это мой код:
$slug = strtolower($_POST['title']);
$slug = trim($slug, '-');
$slug = preg_replace('/ä/g', 'ae', $slug);
$slug = preg_replace('/ö/g', 'oe', $slug);
$slug = preg_replace('/ü/g', 'üe', $slug);
$slug = preg_replace('/ß/g', 'ss', $slug);
$slug = preg_replace('/[^\w ]/g', '', $slug);
$slug = preg_replace('/ +/g', '-', $slug);
Прежде всего, моя попытка не работает, как я хочу.
И второе: Как я могу уменьшить этот код? Я думаю, это можно получить в одном правильном выражении ...
Пожалуйста, объясните "не работает" – Steve
я не получаю результат. – user3142695
модификатор '/ g' для' preg_match', удалить его, будет работать нормально. – Ohgodwhy