it-swarm-ko.tech

붙여 넣은 콘텐츠에서 Microsoft Word gunk를 필터링하려면 어떻게해야합니까?

그룹 블로그에 게시하고 잘라 내기 및 붙여 넣기가 가능하지만 붙여 넣기 할 수있는 사용자가 있습니다.

<!– /* Font Definitions */ @font-face {font-family:”Cambria Math”; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-520092929 1073786111 9 0 415 0;} @font-face {font-family:”Trebuchet MS”; panose-1:2 11 6 3 2 2 2 2 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:647 0 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:”"; margin-top:0in; margin-right:0in; margin-bottom:10.0pt; margin-left:0in; line-height:115%; mso-pagination:Widow-Orphan; font-size:12.0pt; font-family:”Trebuchet MS”,”sans-serif”; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-bidi-font-family:”Times New Roman”; mso-bidi-theme-font:minor-bidi; color:black;} p {mso-style-noshow:yes; mso-style-priority:99; mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:Widow-Orphan; font-size:12.0pt; font-family:”Times New Roman”,”serif”; mso-fareast-font-family:”Times New Roman”;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:12.0pt; mso-ansi-font-size:12.0pt; mso-bidi-font-size:12.0pt; mso-ascii-font-family:”Trebuchet MS”; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:”Trebuchet MS”; mso-bidi-font-family:”Times New Roman”; mso-bidi-theme-font:minor-bidi; color:black;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} –>

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:”";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:Widow-Orphan;
font-size:11.0pt;
font-family:”Calibri”,”sans-serif”;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:”Times New Roman”;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:”Times New Roman”;
mso-bidi-theme-font:minor-bidi;}

이렇게 자동으로 코드를 필터링하려면 어떻게해야합니까?

3
artlung

WordPress에 내장 된 비주얼 텍스트 편집기에는 Microsoft Word formating을 제거하는 버튼이 있습니다. 그것은 "붙여 넣기 단어" alt text

8
Chris_O

Ozh TinyMCE Advanced 플러그인을 사용할 것을 제안합니다. 그것은 당신이 당신을 위해 모든 것을 돌보는 'Word에서 붙여 넣기'옵션을 추가하게합니다.

그러나 관심이 없다면 몇 가지 옵션이 있습니다. 이렇게 :

function get_rid_of_mso_junk( $content ){
  return preg_replace( '@(mso|panose)[^:]{1,25}:[^;]+;(\s+)?(\n+)[email protected]', '', $content );
}

add_filter( 'content_save_pre', 'get_rid_of_mso_junk' );

그 정규식의 첫 번째 캡처 세트에 바람직하지 않은 선언을 계속 추가하여 제거해야하는 행을 추가하십시오. 예 : (mso|panose|other-junk|annoyance).

5
John P Bloch

이 문제에 대한 해결책을 찾는 사람은 다음과 같이했습니다.

function delete_between($beginning, $end, $string) {
    $beginningPos = strpos($string, $beginning);
    $endPos = strpos($string, $end);
    if (!$beginningPos || !$endPos) {
    return $string;
    }

    $textToDelete = substr($string, $beginningPos, ($endPos + strlen($end)) - $beginningPos);

    return str_replace($textToDelete, '', $string);
}

function clean_content( $content ){
    if( is_home() || is_single()){
        $content = delete_between('<!--[if gte mso', ';}', $content);   
        return $content;
    }else{
    return $content;
}

add_filter( 'the_content', 'clean_content' );
add_filter( 'the_excerpt', 'clean_content' );

Delete_between 함수의 문자열을 원하는 것으로 바꿀 수 있습니다. 그것은 나를 위해 일하는 것처럼 보였다.

2
codeprokanner

나는이 문제에 직면 한 고객들과 함께 일했습니다. 내가 찾은 트릭은 HTML보기에 복사하여 붙여 넣은 다음 필요한 경우 시각적 편집기로 다시 조정 형식으로 전환하는 것입니다.

다른 웹 사이트에서 복사하여 붙여 넣는 경우에도 필요합니다. 때로는 실수로 클래스 정의와 인라인 스타일을 외부 소스에서 가져와 사이트에서 설정하거나 지원하는 동일한 클래스 또는 스타일이 없으면 디스플레이가 깨질 수 있습니다.

다른 옵션은 사용자를 Windows Live Writer 에 노출시키는 것입니다. 완전히 무료이며 Word의 복사-붙여 넣기를 사용하여 멋지게 재생되며 WordPress와 상호 작용할 수있는 Microsoft 제품입니다. 게시물 작성, 게시물 편집, 내장 된 맞춤법 검사기 사용, 게시물 형식 지정 정확하게 표시 한 다음 "게시"를 클릭하여 XMLRPC를 통해 게시물을 WordPress (으)로 푸시하십시오. 그것은 매우 건전한 시스템으로 믿을 수 없을 정도로 블로그를하는 방법을 처음 블로거에게 쉽게 가르 칠 수있게합니다. 특히 UI가 Word와 매우 유사하기 때문에 우선 첫째로.

2
EAMann