Próbuję usunąć wszystko, co nie jest alfanumeryczny, albo jest przestrzenią z _:usunięcie spacji i wszystko, co nie jest alfanumeryczny
$filename = preg_replace("([^a-zA-Z0-9]|^\s)", "_", $filename);
Co robię źle tutaj, to nie wydaje się praca. Próbowałem kilka kombinacji regex ... (i generalnie nie jestem bardzo jasny).
jestem lekko confused-- czy chcesz zamienić spacje na "_" czy nie? – climbage
Po pierwsze, udało ci się zaniedbać kilka znaków: ''unichars -a '[\ p {Alpha} \ p {Number}]' '[^ a-zA-Z0-9]' | wc -l' == 14717'. To nie jest dobre miejsce do rozpoczęcia. – tchrist
Powinieneś umieścić '\ s' w nawiasach kwadratowych. W przeciwnym razie '^ \ s' dopasowuje tylko białe spacje na początku'^'tematu. Używaj również '/../' do zamykania, nawiasy okrągłe służą tylko do przechwytywania. – mario