Я пытаюсь удалить все, что не является буквенно-цифровым или является пробелом с _:
$filename = preg_replace("([^a-zA-Z0-9]|^\s)", "_", $filename);
Что я здесь делаю не так, похоже, не работает. Я пробовал несколько комбинаций регулярных выражений ... (и я вообще не очень умный).
ˋunichars -a '[\p{Alpha}\p{Number}]' '[^a-zA-Z0-9]' | wc -lˋ == 14717
. Не лучшее место для начала. - person tchrist   schedule 18.11.2010\s
в квадратные скобки. В противном случае^\s
соответствует только пробелам в начале^
темы. Также используйте/../
для заключения, круглые скобки предназначены только для захвата. - person mario   schedule 18.11.2010[^\pL\pN]
- любой отдельный неалфавитно-цифровой символ. - person tchrist   schedule 18.11.2010