functions-fomatting 파일 변경


글을 등록해 오면서

    ,

  • 의 리스트가 포함되거나, code를 삽입하는 등 비교적 장문의 글을 등록할때 원하지 않는 빈 공간의 라인이 생기고, 열리지도 않은

    태가그 닫혀있는(

    ) 등 여러가지 귀찮고 언짢은 현상이 지속적으로 나타났습니다.

    이 문제들은 모두 워드프레스의 wpautop라는 필터링 함수때문에 나타나는 현상이더군요. 그래서 실험적으로 간단하게 플러그인형태로 만들어서 그 필터링을 제거해봤습니다.

    그 결과는 오히려 더 당황스럽더군요..-_-;지금까지 작성해온 글들이 모두 줄 건너뛰기없는 한줄로 표시됩니다.. (lu, li, h[1~6], div, p....등등 직접 묶어준 태그를 제외하고)

    이 방법은 저에겐 맞질 않는군요:P
    (자동으로 br, p를 생성해주는 다른 에디터에서 글을 작성하시는 분이라면 이 방법이 유용할듯..)

    그래서 functions-formatting.php의 wpautop함수 내에 있는 필터링 라인들을 하나하나 체크해보았더니, 가장 문제를 일으키는 라인이... 65번줄의

    $1

    \n", $pee);

    이더군요. 이라인을 주석 처리해봤습니다... 결과는 역시 줄 건너띄기 무시 현상..-_-;

    그래서 "

    $1

    \n"부분을 한번 수정해보기로 했죠. 제가 테스트 했던 변형들은..

    $1
    \n", "$1
    \n", "$1

    \n", "

    $1\n", "$1\n"

    이 외에도 몇가지 가능성을 예상해서 무식하게 대입해 봤습니다 ;?: 정규표현식도 모르고, 왜 저런 필터링을 하면 이런 결과가 나오는지도 정확히 알지 못하기에 무식한 방법이 최선이네요.. :|

    그 결과 가장 만족스러운 결과를 보여주는게 "

    $1\n"로 수정했을 경우더군요.
    기존에 작성했던 글들도 그대로 유지되면서, 쓸데없는곳에

    가 생겨서 글의 레이아웃을 변형시키지도 않고, 줄 건너띄기도 어느정도 인식하고....

    단, 문제가 있다면 두줄 이상의 건너띄기를 모두 무시한다는 점인데... 저에게는 차라리 이게 더 편하네요..:)두줄 이상의 건너띄기가 필요할때는 그냥 직접 "
    "을 넣어주면 되고 또 그럴경우는 그다지 많지 않았으니까요. 원치 않는곳에 자기 맘대로

    태그가 생겨서 줄 건너띄기가 생겨버리는것 보다는.. 8O

    다른 좋은 방법이나 괜찮은 플러그인이 있다면 좀 알려주세요.. 일단 원하는 결과에 가까워 졌긴 하지만.. 프로그램 소스 코드를 변형했다는것도 좀 걸리고, 정확한 해결책이 아닌듯 해서 계속 찜찜합니다..:roll:

    파폭 html validator extention에서는 오류없는걸로 나왔는데, w3c사이트에서는 무지막지한 오류가 나오네요.

    태그가 열린상태로 닫히지 않는걸 파폭 extention에서는 오류로 잡아내질 못해서 였습니다. 결국 다시 파일 원상복귀 시켰습니다.-_-;


10 responses to “functions-fomatting 파일 변경”

  1. dobiho// 단지 BR 태그만 문제가 된다면 함수 전체를 삭제하지 않고 wpautop 에서 $br 변수를 0 으로바꾸기만 해도 될겁니다.
    function wpautop($pee, $br = 0)

    덧) 트랙백 보내신 내용이 너무 길어서 앞부분만 잘라내었습니다. 양해해 주세요:)

  2. […] By dobiho Tags: wordpress, my source code URL: http://dobiho.hci.or.kr/?p=466 워드프레스 2.0의 BR를 P로 자동으로 바꾸는 문제 워드프레스 2.04 로업그레이드를 했는데, 글에 있는 br 태그를 다 없애 버리는 현상이 발생했습니다. 그래서 줄간이 모두 한줄 밖에 안생깁니다. 입력할 때에는 줄간격이 보이는데, 보이는 모드에서는 2줄 이상의 줄간격은 모두 1줄로 바뀝니다. 즉,BR 태그가 다 없어지고 P 태그 하나만 남습니다. […]

  3. WP 2.04로 업그레이드를 했는데, BR 태그가 다 없어지네요.
    고민하다가 이글을 찾았는데, 도움이 되었습니다.

    function wpautop($pee, $br = 1) 함수에서 바로 리턴하게 했더니 줄간격이 보이네요.

  4. 고싱가숲// 좋은정보 감사합니다:)
    ‘add_filter’를 사용해서 치환하는 플러그인들의 우선순위를 맞추고 그 플러그인에서 자동으로 삽입되는 줄바꾸기(‘/n’)를 적당히 조절하는 방법으로 문제를 해결하긴 했는데, 또 다른 문제가 발생하면 소개해주신 플러그인을 써봐야겠네요:roll:

  5. 좀 늦은 반응입니다만, Text Control 플러그인을 사용해 보세요. 각종 텍스트 포맷 방식을 자유롭게 선택할 수 있습니다. 저도 wpautop() 함수 때문에 고민이 많거든요^^

  6. @하이호 :: 어떤 문자를 넣으셔서인지 쓰신 글 일부분이 사라졌네요. 제 DB에 등록된 원본글 자체에서 사라져 있습니다..^^;아마

    가 아니었을까 하는데..^^;

  7. the_content 하단에..
    replace를 해줘서 태그 규칙을 바꿔버리는 방법이 있습니다.

    를 삭제한다거나..

    저같은 경우는 asdasasasas 가 되어야 할 부분이
    워드프로세서 고질적인 문제인지..
    asdasdasdasdasd
    가 되어 버리더군요..

    \n이 자동으로 먹히는 것 같아서..

    functions-formatting.php를 변형시켜서 사용하다가..
    차후에 나올 버전 등.. 여러생각에 찜찜해서… 결국 본문에 삽입 ;;

    단순히 \n만 제거해서 출력하는 방식으로 사용중입니다..