Я пытаюсь создать функцию для создания постоянных ссылок.
Это то, что у меня есть до сих пор:
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;
}
Теперь представьте, что переменная $ permalink будет, скажем, 5 свободными пробелами (не имеет смысла, но пользователь может ввести ее). Теперь, что случилось бы, это то, что $ new_perma будет -----
Таким образом, есть проблема, в URL разрешен только один -
. Очевидно, что в конце я мог бы использовать str_replace для замены 2, 3, 4, 5 ... тире друг за другом. Но мне нужно было бы указать шаблон поиска для любого возможного количества тире. Так что мне нужен способ удалить все черточки внутри переменной $ new_parma, которые являются более чем одним подряд.