텍스트에 엔터 처리 문제 급질문입니다~ 정보
텍스트에 엔터 처리 문제 급질문입니다~
관련링크
본문
add_file("<input type='checkbox' name='bf_file_del[0]' value='1'><a href='./download.php?bo_table=webzine_submit&wr_id=42548&no=0&sfl=&stx=&sst=&sod=&spt=&page='>확대.jpg(104.6K)</a> 파일 삭제<br><textarea class=ed name='bf_content[0]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.' cols=70 rows=10>이곳에 사진설명을 올려주세요~
<br/>
<br/>dew
<br/>de
<br/>wd
<br/>d
<br/>d
<br/>
<br/>dew</textarea>");
<br/>
<br/>dew
<br/>de
<br/>wd
<br/>d
<br/>d
<br/>
<br/>dew</textarea>");
게시판에서 파일설명하기에 엔터를 인식하게 해서 들어가게 하는것은 성공했는데
수정시 위에 코드중 붉게 칠한부분중에 텍스트 내용이 저렇게 엔터가 눌린것
처럼 아래로 bf_content[0] 부분이 놔와버려서 뒤에 </textarea>가 효력을 잃고
자바스크립트 에러가 나버리고 맙니다. 저부분을 일렬로
add_file("<input type='checkbox' name='bf_file_del[0]' value='1'><a href='./download.php?bo_table=webzine_submit&wr_id=42548&no=0&sfl=&stx=&sst=&sod=&spt=&page='>확대.jpg(104.6K)</a> 파일 삭제<br><textarea class=ed name='bf_content[0]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.' cols=70 rows=10>이곳에 사진설명을 올려주세요~<br/><br/>dew<br/>de<br/>wd<br/>d<br/>d<br/><br/>dew</textarea>");
요렇게 붙어있는다면 코드가 정상작동하고 에러가 안나는데 이렇게 하려면 어떻게 해야하나요? 몇시간째 검색해보고 이함수 저함수 다 써봤는데
도통 머리가 나뻐서 해결이 안되네요
답변 부탁드립니다~
bbs/write.php의 원래 코드는
// 가변 파일
$file_script = "";
$file_length = -1;
// 수정의 경우 파일업로드 필드가 가변적으로 늘어나야 하고 삭제 표시도 해주어야 합니다.
if ($w == "u")
{
for ($i=0; $i<$file[count]; $i++)
{
$row = sql_fetch(" select bf_file, bf_content from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
if ($row[bf_file])
{
$file_script .= "add_file(\"<input type='checkbox' name='bf_file_del[$i]' value='1'><a href='{$file[$i][href]}'>{$file[$i][source]}({$file[$i][size]})</a> 파일 삭제";
if ($is_file_content)
//$file_script .= "<br><input type='text' class=ed size=50 name='bf_content[$i]' value='{$row[bf_content]}' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
// 첨부파일설명에서 ' 또는 " 입력되면 오류나는 부분 수정
$file_script .= "<br><textarea class=ed name='bf_content[$i]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.' cols=70 rows=10>".addslashes(get_text($row[bf_content]))."</textarea>";
//설명부분 textarea로 변경
//<input type='text' class=ed size=50 name='bf_content[$i]' //value='".addslashes(get_text($row[bf_content]))."' title='업로드 이미지 파일에 해당 되는 내용을 //입력하세요.'>";
$file_script .= "\");\n";
}
else
$file_script .= "add_file('');\n";
}
$file_length = $file[count] - 1;
}
$file_script = "";
$file_length = -1;
// 수정의 경우 파일업로드 필드가 가변적으로 늘어나야 하고 삭제 표시도 해주어야 합니다.
if ($w == "u")
{
for ($i=0; $i<$file[count]; $i++)
{
$row = sql_fetch(" select bf_file, bf_content from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
if ($row[bf_file])
{
$file_script .= "add_file(\"<input type='checkbox' name='bf_file_del[$i]' value='1'><a href='{$file[$i][href]}'>{$file[$i][source]}({$file[$i][size]})</a> 파일 삭제";
if ($is_file_content)
//$file_script .= "<br><input type='text' class=ed size=50 name='bf_content[$i]' value='{$row[bf_content]}' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
// 첨부파일설명에서 ' 또는 " 입력되면 오류나는 부분 수정
$file_script .= "<br><textarea class=ed name='bf_content[$i]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.' cols=70 rows=10>".addslashes(get_text($row[bf_content]))."</textarea>";
//설명부분 textarea로 변경
//<input type='text' class=ed size=50 name='bf_content[$i]' //value='".addslashes(get_text($row[bf_content]))."' title='업로드 이미지 파일에 해당 되는 내용을 //입력하세요.'>";
$file_script .= "\");\n";
}
else
$file_script .= "add_file('');\n";
}
$file_length = $file[count] - 1;
}
입니다~
댓글 전체
$bf_content[$i] = conv_content(stripslashes($bf_content[$i]), 2);
bbs/write_update.php에서는 위와같이 디비에 입력되게 처리하였습니다.
bbs/write_update.php에서는 위와같이 디비에 입력되게 처리하였습니다.
addslashes(get_text($row[bf_content]))
를
str_replace("\n", "\\\n", addslashes(get_text($row[bf_content])))
로 바꿔보세요.
를
str_replace("\n", "\\\n", addslashes(get_text($row[bf_content])))
로 바꿔보세요.
흑 답변감사합니다~ 해봤는데 역시 안되네요-_-;;;; 디비에서 불러올때 엔터가 없어지질 않네요 아무리해봐도--;;
str_replace("\r\n", "<br>", addslashes(get_text($row[bf_content]))) 다뒤져서
이렇게 하니 에러는 안나고 불러지기도 하고 저장하면 <br>이 먹혀서 보이네요
그런데 처음에 저장될때는 view화면에서는 글자가 쭉 보여서 보여서 보기 안좋네요-_-;;
여하튼 태엽푸는새님덕에 반은 해결했사옵니다! 정말 감사드려요^^:
이렇게 하니 에러는 안나고 불러지기도 하고 저장하면 <br>이 먹혀서 보이네요
그런데 처음에 저장될때는 view화면에서는 글자가 쭉 보여서 보여서 보기 안좋네요-_-;;
여하튼 태엽푸는새님덕에 반은 해결했사옵니다! 정말 감사드려요^^: