2010-06-11 2 views
1

사람이 나에게 정말 빠른 부탁을하고 좋아한다하면, 그것은 정말 감사하겠습니다 :빠른 [PHP 함수] -> [자바 스크립트 함수] 질문

static function make_url_safe($z){ 
    $z = strtolower($z); 
    $z = preg_replace('/[^a-zA-Z0-9\s] /i', '', $z); 
    $z = str_ireplace(' ', '-', $z); 
    return $z; 
} 

무엇 JS 기능을하는 나는이 기능을 변환하는보고해야한다 자바 스크립트?
encodeURI 또는

답변

6
var s = 'Abc- sdf%$987234'.toLowerCase(); 
s.replace(/[^a-z0-9\s]+/g, '').replace(/ /g, '-'); 

그건 아닌 정확한 상응하는, 원래의 기능은 거의 의미가 만들기 때문에 : 문자 클래스 후, 소문자로 문자열을 변환 한 후 i 플래그를 사용하여 소문자 문자열에 a-zA-Zi 플래그를 사용하여 임의의 공간 첫 번째 매개 변수로 공백이있는 str_ireplace

+0

네, 방금 A-Z와 i를 발견했습니다! 감사합니다. – Haroldo

1
해당하지

하지만, 문자열의 URL의 안전을 동일한 목표를 가지고있다.

+0

나는 __exact equivalent__를 만들어야합니다. 그래서 내장 된 URL 인코딩 기능을 사용하기보다는, make_urol_safe() 함수를 만들기 위해 결합 된 .replace()와 같은 더 작은 네이티브 js 함수를 사용해야합니다. – Haroldo

+0

@SilentGhosts 대답으로 이동하십시오. – deceze

1
function makeURLSafe(z){ 
    return z.toLowerCase().replace(/[^a-z0-9\s]+/g, '').replace(/ /g, '-'); 
}