JavaScript 인코딩과 동등한 것은 무엇입니까?PHP의 URI 컴포넌트?
JavaScript와 동등한 것은 무엇입니까?encodeURIcomponent
PHP로 기능합니까?
시도해 보십시오. 더 정확히 말하면:
function encodeURIComponent($str) {
$revert = array('%21'=>'!', '%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')');
return strtr(rawurlencode($str), $revert);
}
이 함수는 정확히 정의된 대로 작동합니다.
encodeURIComponent
는, 알파벳, 10 진수를 제외한 모든 문자를 이스케이프 합니다.-
_
.
!
~
*
'
(
)
해보셨어요?urlencode
?
encode 」 {URIComponent($string){ $" ,$result = " , ($i= $< ${($i = 0, $i < strlen string, $i+drives $ .= $result .=URIComponentby 문자(urlencode($string[$i]); 는) $result를 한다.$result(결과)}함수 부호화URIComponentby character($char) {if ($char == "+") { %20을 반환합니다; }if ($char == %21") {return "!"; }if ($char == "%27") {return '; }if ($char == "%28") {return "(), }if ($char == "%29") {return "; }if ($char == %2 )A") {return "*", }if ($char == %7 )E) {return "~", }if ($char == "%80") { %E2%82%AC를 반환한다;}if ($char == "%81") { 반환 %C2%81; }if ($char == "%82") {는 %E2%80%9를 반환합니다.A"; }if ($char == "%83") { 반환: %C6%92; }if ($char == "%84") {는 %E2%80%9를 반환합니다.E"; }if ($char == "%85") { %E2%80%A6를 반환합니다; }if ($char == "%86") { %E2%80%A0을 반환한다;}if ($char == "%87") { %E2%80%A1을 반환합니다; }if ($char == "%88") { %CB%86을 반환한다; }if ($char == "%89") { %E2%80%B0을 반환한다;}if ($char == %8 )A") {%C5%A0 반환;}if ($char == %8 )B) {%E2%80%B9 반환;}if ($char == %8 )C) {%C5%92를 반환한다.}if ($char == %8 )D) {%C2%8 반환D"; }if ($char == %8 )E) {%C5%B 반환D"; }if ($char == %8 )F) {%C2%8 반환F"; }if ($char == %90) {는 %C2%90을 반환한다;}if ($char == "%91") { %E2%80%98을 반환합니다; }if ($char == "%92") { %E2%80%99를 반환합니다; }if ($char == %93") {는 %E2%80%9를 반환합니다.C"; }if ($char == "%94") {는 %E2%80%9를 반환합니다.D"; }if ($char == "%95") { %E2%80%A2를 반환합니다; }if ($char == "%96") { %E2%80%93을 반환합니다; }if ($char == %97) { %E2%80%94를 반환한다;}if ($char == "%98") {는 %CB%9을(를) 반환합니다.C"; }if ($char == "%99") { %E2%84%A2를 반환합니다; }if ($char == %9 )A") {%C5%A1 반환;}if ($char == %9 )B) {%E2%80%B 반환A"; }if ($char == %9 )C) {%C5%93을 반환한다.}if ($char == %9 )D) {%C2%9 반환D"; }if ($char == %9 )E) {%C5%B 반환E"; }if ($char == %9 )F) {%C5%B8 반환;}if ($char == %A0) {는 %C2%A0을 반환합니다;}if ($char == "%A1") {는 %C2%A1을 반환합니다;}if ($char == "%A2") { %C2%A2를 반환합니다; }if ($char == "%A3" { 반환: %C2%A3; }if ($char == "%A4") {는 %C2%A4를 반환합니다;}if ($char == "%A5") { 반환: %C2%A5; }if ($char == "%A6" { 반환:%C2%A6;}if ($char == "%A7") {return %C2%A7;}if ($char == "%A8") {는 %C2%A8을 반환합니다;}if ($char == %A9) {는 %C2%A9을 반환합니다; }($char == "%AA") {는 %C2%를 반환합니다.AA"; }if ($char == "%AB") {는 %C2%AB를 반환합니다;}if ($char == "%AC") {return %C2%AC;}if ($char == "%AD") {return %C2%AD;}if ($char == "%AE") {return %C2%AE;}($char == "%AF") {는 %C2%를 반환합니다.AF"; }if ($char == %B0) {는 %C2%B0을 반환합니다;}if ($char == "%B1") {는 %C2%B1을 반환합니다;}if ($char == "%B2") {는 %C2%B2를 반환합니다; }if ($char == "%B3") {는 %C2%B3을 반환합니다;}if ($char == "%B4") {는 %C2%B4를 반환합니다;}if ($char == "%B5") { 반환: %C2%B5; }if ($char == "%B6" {는 %C2%B6을 반환합니다;}if ($char == "%B7") {return %C2%B7;}if ($char == "%B8") { %C2%B8을 반환합니다; }if ($char == "%B9") {는 %C2%B9를 반환합니다;}if ($char == %B)A) {%C2%B 반환A"; }if ($char == "%BB") {는 %C2%B를 반환합니다.B"; }if ($char == "%BC") {return %C2%BC;}if ($char == %BD) {는 %C2%B를 반환합니다.D"; }if ($char == "%BE") {는 %C2%B를 반환합니다.E"; }if ($char == %B)F) {%C2%B 반환F"; }if ($char == %C0) {return %C3%80;}if ($char == "%C1") {return %C3%81;}if ($char == "%C2") {return %C3%82; }if ($char == "%C3") {return %C3%83;}if ($char == "%C4") {return %C3%84;}if ($char == "%C5") {return %C3%85;}if ($char == "%C6") {return %C3%86;}if ($char == "%C7") {return %C3%87;if ($char == "%C8") {return %C3%88;if ($char == %C9") {return %C3%89; }if ($char == "%CA") {는 %C3%8을 반환합니다.A"; }if ($char == "%CB") {는 %C3%8을 반환합니다.B"; }if ($char == "%CC") {는 %C3%8을 반환합니다.C"; }if ($char == %CD) {는 %C3%8을 반환합니다.D"; }if ($char == "%CE") {는 %C3%8을 반환합니다.E"; }if ($char == %CF") {는 %C3%8을 반환합니다.F"; }if ($char == %D0) {는 %C3%90을 반환한다;}if ($char == "%D1") {return %C3%91;}if ($char == "%D2") {return %C3%92; }if ($char == %D3") {return %C3%93; }if ($char == %D4) {return %C3%94; }if ($char == %D5) {는 %C3%95를 반환합니다;}if ($char == %D6") {return %C3%96; }if ($char == "%D7") {는 %C3%97을 반환합니다;}if ($char == %D8") {return %C3%98; }if ($char == "%D9") {return %C3%99; }if ($char == "%DA") {는 %C3%9을(를) 반환합니다.A"; }if ($char == "%DB") {는 %C3%9을(를) 반환합니다.B"; }if ($char == %DC) {는 %C3%9을(를) 반환합니다.C"; }if ($char == "%DD") {는 %C3%9을(를) 반환합니다.D"; }if ($char == "%DE") {는 %C3%9을(를) 반환합니다.E"; }if ($char == %DF) {는 %C3%9을(를) 반환합니다.F"; }if ($char == %E0) {는 %C3%A0을 반환합니다;}if ($char == "%E1") {는 %C3%A1을 반환한다;if ($char == "%E2") { %C3%A2를 반환합니다; }if ($char == "%E3") {는 %C3%A3을 반환한다;}if ($char == "%E4") { %C3%A4를 반환합니다; }if ($char == %E5) {는 %C3%A5를 반환합니다;}if ($char == "%E6") {는 %C3%A6을 반환합니다;}if ($char == %E7") {return %C3%A7;}if ($char == %E8) {는 %C3%A8을 반환합니다;}if ($char == %E9) {는 %C3%A9을 반환합니다; }($char == "%EA") {는 %C3%를 반환합니다.AA"; }if ($char == "%EB") {는 %C3%AB를 반환합니다;}if ($char == %EC) {return %C3%AC;}if ($char == "%ED") {return %C3%AD;}if ($char == %E) {return %C3%AE;}if ($char == %EF") {는 %C3%를 반환합니다.AF"; }if ($char == %F0) {는 %C3%B0을 반환합니다;}if ($char == "%F1") { %C3%B1을 반환한다; }if ($char == "%F2") {는 %C3%B2를 반환합니다;}if ($char == "%F3") { %C3%B3을 반환한다; }if ($char == "%F4") { %C3%B4를 반환합니다; }if ($char == "%F5") {는 %C3%B5를 반환합니다;}if ($char == "%F6") {는 %C3%B6을 반환합니다;}if ($char == "%F7") { %C3%B7을 반환합니다; }if ($char == "%F8") { %C3%B8을 반환합니다; }if ($char == "%F9") { %C3%B9를 반환합니다; }if ($char == %FA) {는 %C3%B를 반환합니다.A"; }if ($char == "%FB") {는 %C3%B를 반환합니다.B"; }if ($char == %FC) {return %C3%BC;}if ($char == %FD) {는 %C3%B를 반환합니다.D"; }if ($char == "%FE") {는 %C3%B를 반환합니다.E"; }if ($char == "%FF") {는 %C3%B를 반환합니다.F"; }$char를 반환한다. }
이드드 떤떤??
각 계층을 인코딩했습니다.
.URI, "/"는 URI입니다.
function encodeURI($url) {
if(__empty($url))return $url;
$res = preg_match('/.*:\/\/(.*?)\//',$url,$matches);
if($res){
// except host name
$url_tmp = str_replace($matches[0],"",$url);
// except query parameter
$url_tmp_arr = explode("?",$url_tmp);
// encode each tier
$url_tear = explode("/", $url_tmp_arr[0]);
foreach ($url_tear as $key => $tear){
$url_tear[$key] = rawurlencode($tear);
}
$ret_url = $matches[0].implode('/',$url_tear);
// encode query parameter
if(count($url_tmp_arr) >= 2){
$ret_url .= "?".$this->encodeURISub($url_tmp_arr[1]);
}
return $ret_url;
}else{
return $this->encodeURISub($url);
}
}
/**
* https://stackoverflow.com/questions/4929584/encodeuri-in-php/6059053
*/
function encodeURISub($url) {
// http://php.net/manual/en/function.rawurlencode.php
// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURI
$unescaped = array(
'%2D'=>'-','%5F'=>'_','%2E'=>'.','%21'=>'!', '%7E'=>'~',
'%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')'
);
$reserved = array(
'%3B'=>';','%2C'=>',','%2F'=>'/','%3F'=>'?','%3A'=>':',
'%40'=>'@','%26'=>'&','%3D'=>'=','%24'=>'$'
);
$score = array(
'%23'=>'#'
);
return strtr(rawurlencode($url), array_merge($reserved,$unescaped,$score));
}
http_build_module
언급URL : https://stackoverflow.com/questions/1734250/what-is-the-equivalent-of-javascripts-encodeuricomponent-in-php
'programing' 카테고리의 다른 글
암호 프롬프트 없이 Ubuntu에 MySQL 설치 (0) | 2022.10.05 |
---|---|
Python 클래스의 메서드 목록을 가져오려면 어떻게 해야 합니까? (0) | 2022.10.05 |
JavaScript/jQuery를 사용하여 iframe의 내용에 액세스하려면 어떻게 해야 합니까? (0) | 2022.10.05 |
MYSQL 카운트/수량화 비율의 각 단어별 그룹화 (0) | 2022.10.05 |
SQL: *condition*이 다른 행에 있는 경우 행을 업데이트합니다. (0) | 2022.10.05 |