PHPExcel 라이브러리로 하이퍼링크있는 xlsx 를 만들고
그 파일을 엑셀 365(2022년 7월 06일)에서 읽을 경우
제거된 레코드: /xl/worksheets/sheet2.xml 부분의 하이퍼링크
이런 에러가 발생될 경우
체크해봤는데
xlsx 파일의 압축을 풀고
xl\worksheets\_rels
속에서
sheet2.xml.rels (sheet2 가 같다)
부분을 확인
URL부분만 추려서 내용을 체크해봤는데
1. 엑셀플그램에서 저장시 도메인은 소문자로 바뀐다. (본래 도메인은 대소문자 구분이 없이 사용가능. 구분 자체를 안함)
2. URL이 잘못되서
https://www.instagram.com/https://Instagram.com/xxxxx
이런 형식이면
https://www.instagram.com/https:/Instagram.com/xxxxx
처럼 바뀐다.
3. URL 끝에 # 만 붙어있으면 제거된다.
4. http://blog.naver.com 처럼 되어있으면 (경로가 없는 경우)
http://blog.naver.com/ 처럼 뒤에 / 가 붙는다.
5. 최대한 urlencode 처리를 해준다.
쿼리스트링에 [0] 이 있으면 %5b0%5d 처럼 바뀌어서 저장됨
6. 도메인에 빈칸이 있다면 잘못된 URL로 보고 제거한다. <--- 이부분이 문제인것 같음
filter_var($text,FILTER_VALIDATE_URL) !== false
로 URL인지를 체크해서 동작하도록 함.