2015-05-22 3 views
-1

В настоящее время я использую функцию для очистки заголовков и создания ссылок. К сожалению, ereg_replace теперь устарели и помечены ошибкой.PHP URL cleanse

Я попытался преобразования, но получаю сообщение об ошибке о:

не заканчивается разделителем «+» в preg_replace.

Любая помощь с преобразованием этого была бы высоко оценена.

$return = trim(ereg_replace(' +', ' ', preg_replace(
    '/[^a-zA-Z0-9\s]/', '', strtolower($input)))); 
+0

Если вы хотите заменить '+' пробелом, попробуйте 'str_replace' вместо' ereg_replace'. Это намного быстрее, чем использовать регулярное выражение. – Axalix

ответ

4

preg_replace должен иметь разделители вокруг скороговорки, вы можете использовать, например. ~.

$return = trim(preg_replace('~ +~', ' ', preg_replace('/[^a-zA-Z0-9\s]/', '', strtolower($input)))); 
          ^^ 
+0

Как бы это было вчера: http://stackoverflow.com/a/30164250/? – Rizier123

+1

Похож на проблему с золотым рудником :) –