Wiki 마크업을 HTML로 변환하는 가장 쉬운 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/45991

  •  09-06-2019
  •  | 
  •  

문제

저는 매우 기본적인 마크업 기능이 필요한 웹사이트를 구축하고 있습니다.제3자 플러그인을 사용할 수 없으므로 마크업을 HTML로 변환하는 간단한 방법만 있으면 됩니다.허용할 수 있는 태그는 총 3개일 수 있습니다.

변환하는 가장 좋은 방법은 무엇입니까 ==Heading== 에게 <h2>Heading</h2>, 또는 --bold-- 에게 <b>bold</b>?Regex를 사용하여 간단히 수행할 수 있습니까? 아니면 누군가 간단한 기능을 가지고 있습니까?

저는 이것을 C#으로 작성하고 있지만 다른 언어의 예제도 작동할 것입니다.

후속 조치:이것은 내 웹사이트의 매우 작은 부분이므로 간단한 Regex 대체를 사용하는 단순함이 마음에 들었습니다.나는 다음 코드를 사용하여 C#에서 이 작업을 수행했습니다.

string html = Regex.Replace("==This will be inside h2==", "==([^=]*)==", "< h2>$1< /h2>")

.NET에서는 다음을 사용합니다. $1 대신에 표기법 \1 다른 언어에서 사용되는 표기법.

도움이 되었습니까?

해결책

실제로는 간단한 문제가 아닙니다. 사용자에게 내용을 다시 표시하려면 입력도 삭제하여 입력 내용을 삭제해야 하기 때문입니다. 크로스 사이트 스크립팅 취약점.

즉, 정규식 대체를 사용하여 가장 쉽게 설명하는 것처럼 매우 간단한 작업을 수행할 수 있습니다.

예를 들어

replace the pattern ==([^=]*)== with <h2>\1</h2>

다른 팁

또 한있다 펄 모듈 그리고 PHP 프로젝트 이것을하기 위해.둘 중 하나의 소스 코드는 자신만의 솔루션을 개발하는 데 유용할 수 있습니다.

저는 Markdown(이 사이트에서 사용되는 것과 동일한 경량 마크업 언어)을 사용합니다.C#의 경우 사용 가능한 아주 좋은 소스 코드가 있습니다. 여기.유지 관리되지는 않지만 Markdown을 완벽하게 지원합니다.그러나 당분간은 정말 잘 작동하며 무료 오픈 소스입니다.

가장 좋은 점은 이 소스를 프로젝트에 포함하면 모든 작업이 완료된다는 것입니다.매우 작습니다.기본적으로 텍스트 덩어리를 HTML로 변환하는 단일 메서드 호출입니다.

이는 실제로 여러 가지 다른 구문이 있으므로 사용 중인 Wiki 구문에 따라 다릅니다.분명히 위키 소프트웨어에는 이 기능이 어딘가에 있습니다.이 작업을 수행하는 소프트웨어 패키지를 찾을 수 없다면 위키 소프트웨어에서 관련 코드를 찾아볼 수 있습니다.

아마도 이것 당신이 필요로하는 것입니다.

이 페이지는 다양한 대체 MediaWiki 파서, 즉 MediaWiki의 텍스트 마크업 구문을 다른 것으로 변환할 수 있거나 변환할 의도가 있는 MediaWiki 자체 이외의 프로그램 및 프로젝트에 대한 링크, 설명 및 상태 보고서의 편집물입니다.

아마도 3개의 태그가 너무 과할 수도 있지만, 그것이 완전한 마크업 언어로 발전하고 정규 표현식이 무섭게 보이기 시작한다면 고려해 볼 수도 있습니다. 개미

Joseph이 말했듯이 Markdown은 텍스트를 HTML로 변환하는 문제를 해결하는 가장 좋은 솔루션입니다.

MarkdownSharp는 가볍고 사용하기 쉬우며 stackoverflow 구현이므로 잘 테스트되었습니다!

new Markdown().Transform("**markdown text**");

http://blog.stackoverflow.com/2009/12/introducing-markdownsharp/

마크다운 구문에 대한 추가 정보 - http://en.wikipedia.org/wiki/Markdown

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