2017-04-04 1 views
2

이 변수는 URL이 들어있는 $link = $rows['link'];입니다. 이 모든 것을 반향하면 좋을 것입니다. 예를 들면 :PHP : 배열로 변환하면 슬래시가 "V"가됩니다.

그런 https://www.ted.com/talks/margaret_heffernan_why_it_s_time_to_forget_the_pecking_order_at_workhttps://www.ted.com/talks/simon_sinek_why_good_leaders_make_you_feel_safehttps://www.ted.com/talks/regina_hartley_why_the_best_hire_might_not_have_the_perfect_resumehttps://www.ted.com/talks/sheryl_sandberg_why_we_have_too_few_women_leadershttps://www.ted.com/talks/roselinde_torres_what_it_takes_to_be_a_great_leaderhttps://www.ted.com/talks/stanley_mcchrystal#t-319307https://www.ted.com/talks/stanley_mcchrystal#t-319307https://www.ted.com/talks/stanley_mcchrystal#t-319307https://www.ted.com/talks/stanley_mcchrystal#t-319307https://www.ted.com/talks/stanley_mcchrystal#t-319307

나는 다음과 같은 코드로 배열이 URL을 저장하고 싶습니다 : $result['video'][] = array('id' => $id, 'link' => $link);

여기서 문제는 슬래시는 "V"의 될 것입니다 . 예 : echo json_encode($result); 저를 제공합니다

{ "비디오": [{ "ID": "1", "링크": "https://www.ted.com/talks/margaret_heffernan_why_it_s_time_to_forget_the_pecking_order_at_work"}, { "id": "2", "link": "https://www.ted.com/talks/simon_sinek_why_good_leaders_make_you_feel_safe"}, { "id": "3", "link": "https : //www.ted .com/회담/regina_hartley_why_the_best_hire_might_not_have_the_perfect_resume "}, {"id ":"4 ","link ":"https://www.ted.com/talks/sheryl_sandberg_why_we_have_too_fomen_leaders "}, {"id ":"5 ","link ":"https://www.ted.com/talks/roselinde_torres_what_it_takes_to_be_a_great_leader "}, {"id ":"6 ","link ":"https://www.ted.com/talks/stanley_mcchrystal#t-319307 "}, {"id ":"7 ","link ":"https://www.ted.com/talks/stanley_mcchrystal#t-319307 "}, {"id ":"8 ","link " "https://www.ted.com/talks/stanley_mcchrystal#t-319307"},{"id":"9","link":"https:/ /www.ted.com/talks/stanley_mcchrystal#t-319307"},{"id=:""""""""""https://www.ted.com/talks/stanley_mcchrystal#t-319307 "} ]}

왜 그런지 알고있는 사람은 누구입니까?

감사합니다. : 당신이 "\" "/"는 JSON 자동으로 역 상선 문자를 추가 가진 모든 문자열을 인코딩 및 최종 문자열이 뭔가를 될 때

+0

이 문제가 왜 당신이 그들을 인코딩 JSON 그들이 '탈출 슬래시가 될 \ /'다음 당신이 그들을 디코딩 할 때, 이해가 안 돼요 다시 정상이게 되라. – apokryfos

+0

나는 그것이 단지 슬래시를 벗어 났다고 생각하지 않습니까? 나는 당신의 인용문 블록을 볼 수는 없지만, V는 V처럼 보입니다. 그러나 실제로는 \/ – PhilS

+0

입니다. "V"가 아닌 "\ /"입니다 (예 :'앞 슬래시' 백 슬래시')를 (이스케이프 앞 슬래시). –

답변

4

당신은이 문제가되지 않습니다

json_encode($result, JSON_UNESCAPED_SLASHES); 
+0

감사합니다. 완벽하게 작동합니다 :) –

+0

당신은 천만에요. – valbrux

1

으로이 문제를 해결할 수 "\ /"와 유사합니다. 이것은 합법적 인 JSON입니다. "\ /"는 문자열을 직렬화 해제 할 때 자동으로 "/"로 변환됩니다. 결과가 적절한 JSON 구문 분석기로 직렬화되지 않은 경우 왜 걱정해야합니까?

인쇄물에 "\ /"이 있으면 출력 중에 JSON_UNESCAPED_SLASHES 플래그를 사용할 수 있습니다. 뭔가 같은 : json_encode($eg_url, JSON_UNESCAPED_SLASHES);

<?php 
/* 
* @author Saurabh Pandey 
* Escaping the reverse-solidus character ("/", slash) is optional in JSON. 
* 
* This can be controlled with the JSON_UNESCAPED_SLASHES flag constant in PHP. 
* 
*/  

$eg_url = 'http://www.trillbit.com/'; 

echo json_encode($eg_url), "<br>"; 

echo json_encode($eg_url, JSON_UNESCAPED_SLASHES), "<br>"; 

출력 :

http:\/\/www.trillbit.com\/ 
http://www.trillbit.com/ 
관련 문제