XML [PHP] Below is a rendering of the page up to the first error
페이지 정보
첨부파일
-
특수문자.txt (476byte)
80회 다운로드 | DATE : 2018-07-12 11:53:47
본문
Below is a rendering of the page up to the first error. 가 발생할때 해결 방법을 정리해 봅니다.
1. 문서 최상단에 공백이 포함된 경우
< Chrome >
This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
< Internet Explorer >
< FireFox >
<?xml version="1.0" encoding="utf-8"?>
이런식으로 <?xml 글자 앞에 공백이 포함된 경우입니다.
참고자료
https://github.com/2amigos/efeed/issues/10
2. Extra content at the end of the document
This page contains the following errors:
error on line 21 at column 5: Extra content at the end of the document
Below is a rendering of the page up to the first error.
$tot = sql_num_rows(sql_query($sql)); 를
$tot = mysql_num_rows(sql_query($sql)); 로 변경합니다.
그누보드5는 sql_num_rows 를 사용하지만, 일부 빌더의 경우에는 이 함수가 누락되었습니다.
배추빌더를 적용한 홈페이지에서 위의 사례를 확인했습니다.
참고자료
https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=341353
3. Input is not proper UTF-8, indicate encoding
< Chrome >
This page contains the following errors:
error on line 589 at column 27: Input is not proper UTF-8, indicate encoding !
Bytes: 0x0C 0x26 0x6E 0x62
Below is a rendering of the page up to the first error.
We recently ran into a similar issue and was unable to find anything obvious as the cause.
There turned out to be a control character in our string but when we outputted that string to the browser that character was not visible unless we copied the text into an IDE.
최근에 비슷한 문제가 발생하여 원인으로 분명한 사실을 발견하지 못했습니다.
문자열에서 제어 문자로 밝혀졌지만 텍스트를 IDE에 복사하지 않으면 문자가 보이지 않는 브라우저에 해당 문자열을 출력했습니다.
이것을 해결하기 위해서 아래와 같이 코드를 적용합니다.
$input = str_replace(' ', ' ', $input); // 를 공백으로 교체하기 (2018-06-28 추가)
// ↓↓↓↓ 아래에 추가한 이상한 글자가 에디터에서 제거가 자동으로 되서 첨부파일로 올립니다.
//$input = str_replace('', ' ', $input); // 이상한 특수문자( )를 공백으로 교체하기 (2018-07-12 추가)
// ↑↑↑↑ 위에 추가한 이상한 글자가 에디터에서 제거가 자동으로 되서 첨부파일로 올립니다.
$input = preg_replace('/[\x00-\x1F\x7F]/', '', $input); // 이상한 특수문자를 제어하는 코드 추가 ( 2018-04-27 추가 )
$input = strip_tags(preg_replace("/&(?!#?[a-z0-9]+;)/", "&",$input));
위의 문제를 해결하는 코드는 첨부파일 ( 특수문자.txt )를 내려받아서 확인하세요
참고자료
https://stackoverflow.com/questions/2507608/error-input-is-not-proper-utf-8-indicate-encoding-using-phps-simplexml-lo
4. Namespace prefix content on encoded is not defined
< Chrome >
This page contains the following errors:
error on line 16 at column 21: Namespace prefix content on encoded is not defined
Below is a rendering of the page up to the first error.
5. Entity 'nbsp' not defined
< Chrome >
This page contains the following errors:
error on line 18 at column 80: Entity 'nbsp' not defined
Below is a rendering of the page up to the first error.
$wr_content = str_replace(' ', ' ', $wr_content); // 를 공백으로 교체
6. StartTag: invalid element name
< Internet Explorer >
< Chrome >
This page contains the following errors:
error on line 1483 at column 27: StartTag: invalid element name
Below is a rendering of the page up to the first error.
$wr_subject = str_replace(' <', '<', $wr_subject); // title 의 내용중부분은 < 의 앞글자에는 공백불가. (2018-08-10 추가)
7. EntityRef: expecting
< Chrome >
This page contains the following errors:
error on line 4 at column 33: EntityRef: expecting ';'
Below is a rendering of the page up to the first error.
https://www.happyjung.com/lecture/2550 에서 해결 방법을 찾을 수 있습니다.
사이트 제목에 & 문자가 포함된것이 원인이었습니다.
$title = strip_tags(preg_replace("/&(?!#?[a-z0-9]+;)/", "&",$title)); // title의 내용중에 & 를 & 로 변경 (2018-11-24 추가)
<link></link> 사이에는 & 가 포함되면 오류가 발생합니다.
& 를 & 로 변경합니다.
1. 문서 최상단에 공백이 포함된 경우
< Chrome >
This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
< Internet Explorer >
< FireFox >
<?xml version="1.0" encoding="utf-8"?>
이런식으로 <?xml 글자 앞에 공백이 포함된 경우입니다.
참고자료
https://github.com/2amigos/efeed/issues/10
2. Extra content at the end of the document
This page contains the following errors:
error on line 21 at column 5: Extra content at the end of the document
Below is a rendering of the page up to the first error.
$tot = sql_num_rows(sql_query($sql)); 를
$tot = mysql_num_rows(sql_query($sql)); 로 변경합니다.
그누보드5는 sql_num_rows 를 사용하지만, 일부 빌더의 경우에는 이 함수가 누락되었습니다.
배추빌더를 적용한 홈페이지에서 위의 사례를 확인했습니다.
참고자료
https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=341353
3. Input is not proper UTF-8, indicate encoding
< Chrome >
This page contains the following errors:
error on line 589 at column 27: Input is not proper UTF-8, indicate encoding !
Bytes: 0x0C 0x26 0x6E 0x62
Below is a rendering of the page up to the first error.
We recently ran into a similar issue and was unable to find anything obvious as the cause.
There turned out to be a control character in our string but when we outputted that string to the browser that character was not visible unless we copied the text into an IDE.
최근에 비슷한 문제가 발생하여 원인으로 분명한 사실을 발견하지 못했습니다.
문자열에서 제어 문자로 밝혀졌지만 텍스트를 IDE에 복사하지 않으면 문자가 보이지 않는 브라우저에 해당 문자열을 출력했습니다.
이것을 해결하기 위해서 아래와 같이 코드를 적용합니다.
$input = str_replace(' ', ' ', $input); // 를 공백으로 교체하기 (2018-06-28 추가)
// ↓↓↓↓ 아래에 추가한 이상한 글자가 에디터에서 제거가 자동으로 되서 첨부파일로 올립니다.
//$input = str_replace('', ' ', $input); // 이상한 특수문자( )를 공백으로 교체하기 (2018-07-12 추가)
// ↑↑↑↑ 위에 추가한 이상한 글자가 에디터에서 제거가 자동으로 되서 첨부파일로 올립니다.
$input = preg_replace('/[\x00-\x1F\x7F]/', '', $input); // 이상한 특수문자를 제어하는 코드 추가 ( 2018-04-27 추가 )
$input = strip_tags(preg_replace("/&(?!#?[a-z0-9]+;)/", "&",$input));
위의 문제를 해결하는 코드는 첨부파일 ( 특수문자.txt )를 내려받아서 확인하세요
참고자료
https://stackoverflow.com/questions/2507608/error-input-is-not-proper-utf-8-indicate-encoding-using-phps-simplexml-lo
4. Namespace prefix content on encoded is not defined
< Chrome >
This page contains the following errors:
error on line 16 at column 21: Namespace prefix content on encoded is not defined
Below is a rendering of the page up to the first error.
5. Entity 'nbsp' not defined
< Chrome >
This page contains the following errors:
error on line 18 at column 80: Entity 'nbsp' not defined
Below is a rendering of the page up to the first error.
$wr_content = str_replace(' ', ' ', $wr_content); // 를 공백으로 교체
6. StartTag: invalid element name
< Internet Explorer >
< Chrome >
This page contains the following errors:
error on line 1483 at column 27: StartTag: invalid element name
Below is a rendering of the page up to the first error.
$wr_subject = str_replace(' <', '<', $wr_subject); // title 의 내용중부분은 < 의 앞글자에는 공백불가. (2018-08-10 추가)
7. EntityRef: expecting
< Chrome >
This page contains the following errors:
error on line 4 at column 33: EntityRef: expecting ';'
Below is a rendering of the page up to the first error.
https://www.happyjung.com/lecture/2550 에서 해결 방법을 찾을 수 있습니다.
사이트 제목에 & 문자가 포함된것이 원인이었습니다.
$title = strip_tags(preg_replace("/&(?!#?[a-z0-9]+;)/", "&",$title)); // title의 내용중에 & 를 & 로 변경 (2018-11-24 추가)
<link></link> 사이에는 & 가 포함되면 오류가 발생합니다.
& 를 & 로 변경합니다.
댓글목록
등록된 댓글이 없습니다.