연속된 \n 생략하는 방법 관련 입니다..
본문
안녕하세요~
write.skin.php에서 라디오 및 텍스트 인풋 등으로 입력 받은 ex1, ex2_1, ex2_2, ex3 ~~ ex97 와 같은 필드들을
아래와 같이 function fwrite_submit(f) 안에서 wr_content 값에 넣어
본문에 자동으로 입력하고 있습니다.
function fwrite_submit(f)
{
// ### 아래의 함수로 wr_content에 여분필드의 값을 넣어 대체함
f.wr_content.value = f.wr_subject.value+'\n'+f.wr_name.value+'\n'+f.ex1.value+'\n'+f.ex2_1.value+'\n'+f.ex2_2.value+ ~중략~ +'\n'+f.ex100.value;
특별할 게 없기에 입력은 잘 됩니다.
문제는 랜덤으로 ex의 값 (wr_1에 배열로 넣은 값)이 없는 경우가 많은데
값이 없는 ex의 자리에 '\n'만 나오게 되기에
글쓰기 후 본문 내용을 보면 여기저기 연속된 엔터공백이 휑하니 발생하여
가독성이 너무 안좋아지게 됩니다...
## ex의 입력값이 없을 때 해당 ex 앞에 붙은 줄바꿈 \n을 생략하는 방법이 있을까요...? -_-;;;;;;
답변 2
뭐 이런건 단순하게 가는게 방법일수도있겠네요
var ex_value = '';
if(f.ex1.value) ex_value += '\n'+f.ex1.value;
if(f.ex2.value) ex_value += '\n'+f.ex2.value;
if(f.ex3.value) ex_value += '\n'+f.ex3.value;
ex가 100까지 있는걸로보아 여기 조건을 for문돌려도 되겠구요
f.wr_content.value = f.wr_subject.value+'\n'+f.wr_name.value+ex_value;
그다음엔 이렇게 추가해주시면 되겠네요
$ex_array = [f.ex1.value, f.ex2.value ... f.ex100.value];
// null 제거및 개행문자로 join
$except_string = join('\n', array_filter($ex_array));
f.wr_content.value = f.wr_subject.value+'\n'+f.wr_name.value+'\n'+$except_string
$ex_array 부분은 $ex_array = array() 로 선언하고 for 문으로 대체 가능하겠네요
!-->