문제

최근에 이전 블로그 (SharePoint)에서 많은 블로그 게시물을 현재 블로그 (WordPress)로 가져 오려고했습니다. 수입이 완료되면 많은 불쾌한 <div> 태그와 기타 HTML은 게시물의 내용으로 만들어 내 사이트가 렌더링되는 방식을 망쳤습니다.

MySQL 데이터베이스에서 불쾌한 행을 볼 수 있으며 문제를 일으킬 수있는 HTML 텍스트를 선택적으로 제거 할 수있는 방법이 있는지 알고 싶습니다. 아마도 텍스트를 구문 분석하여 C#에서 이것을 해킹 할 수는 있지만, 가능하다면 SQL을 사용하여 어떻게 할 수 있는지 알아 내고 싶습니다.

데이터베이스 텍스트 필드에 존재하는이 파일 중 하나에 대한 전체 텍스트 샘플을 보려면 내 웹 사이트에 전체 샘플 파일을 업로드했습니다..

내가하고 싶은 것은 다음과 같습니다.

  • 제거하다 <![CDATA[<div><b>Body:</b> 모든 파일의 시작부터
  • 모든 파일 끝에서 메타 정보를 제거하십시오.

    <div><b>Category:</b> SharePoint</div>
    <div><b>Published:</b> 11/12/2007 11:26 AM</div>
    ]]>
    
  • 모든 것을 제거하십시오 <div> 그리고 폐쇄 </div> 다음과 같은 클래스 속성이있을 수있는 태그

    <div class=ExternalClass6BE1B643F13346DF8EFC6E53ECF9043A>
    

    참고 : 외부 클래스 끝의 16 진수는 다를 수 있습니다.

이전에 MySQL에서 업데이트 문을 사용하지 않았으며 텍스트 필드 내에서 텍스트를 선택적으로 바꾸는 곳을 잃어 버렸습니다. SQL 문 내에서 Regex를 사용하여 도움을 주시겠습니까? 원격 DB에 대해 어떻게 진술을 실행합니까?

도움이 되었습니까?

해결책

게시물을 가져 오기 전에 게시물을 정리하는 것은 어떻습니까? 텍스트 파일로 취급 할 수있는 로컬 파일로 작업하는 것이 훨씬 쉬울 것 같습니다. 그런 다음 Perl 또는 Python을 사용하여 가져 오기 전에 취향에 대한 문제를 해결할 수 있습니다.

이는 여전히 SharePoint에서 끝난 데이터에 액세스 할 수 있다고 가정합니다.

다른 팁

웹 사이트에 서비스를 제공하기 위해 사용하고 있거나 가장 많이 사용되는 백엔드 플랫폼을 사용하지 않고는 간단한 방법이 없습니다. 나 자신은 PHP 또는 PERL을 사용하여 데이터를 정리할 것입니다. 따라서 대답은 수행 할 수 있지만 어떤 유형의 프로그래밍/처리 언어를 사용해야합니다. MySQL 자체는 데이터를 정리할 수 없습니다.

질문에서 말한 것처럼 SQL을 사용하기로 결정했다고 가정하면 C#으로 해킹하는 기술이 있으면 반복/Fetch 루프에서 커서를 사용하는 저장된 절차를 만드는 방법을 알아낼 수 있어야합니다. 행, 문자열 기능은 데이터를 마사지하기위한 기능 및 행을 업데이트하기위한 업데이트입니다. 이것 좀 봐:

http://dev.mysql.com/doc/refman/5.0/en/cursors.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top