Я пытаюсь создать функцию для создания постоянных ссылок. Это то, что я до сих пор:Как создать постоянные ссылки без нескольких тире друг за другом?
public function createPermalink($permalink)
{
$new_perma = strtolower($permalink);
$searchsigns = array('Ö', 'Ä', 'Ü', 'ß', '-', '_', ' ', 'ö', 'ä', 'ü');
$replaces = array('oe', 'ae', 'ue', 'ss', '', '-', '-', 'oe', 'ae', 'ue');
$new_perma = str_replace($searchsigns, $replaces, $new_perma);
$new_perma = preg_replace('/[^a-z0-9_-]/isU', '', $new_perma);
return $new_perma;
}
Теперь представьте переменная $ Постоянная ссылка будет сказать 5 свободных пространств (не имеет смысла, но пользователь мог войти в него). Теперь, что произойдет, так это то, что $ new_perma будет -----
Итак, есть проблема, в URL-адресе разрешено только одно -
. Очевидно, я мог в конце использовать str_replace, чтобы заменить 2, 3, 4, 5 ... тире позади друг друга. Но мне нужно указать шаблон поиска для любого возможного количества тире. Так что мне нужен способ удалить все черточки внутри переменной $ new_parma, которые более одного подряд.
Он тоже заменяет буквы акцентом? Например, до – phpheini
да, да. посмотрите на второй файл сущности, чтобы увидеть пример использования. – rodneyrehm
Очень приятно, используя вашу функцию сейчас! Большое спасибо! – phpheini