내가 삽입하고있어 HTML 단락 (<p></p>
) : 나는 어떤 싶지 않아 제외 보인다삽입 단락이 같은 텍스트의 조각에
$text = '<p>' . preg_replace("/(\n|\r|\r\n)+/i", "</p><p>", $text) . '</p>' ;
는 잘 작동합니다 문단은 <code></code>
블록 내에 있습니다. 이러한 블록 내의 콘텐츠는 미리 형식이 지정되어 있습니다 (스타일 사용).
어떻게 처리해야 할 지 잘 모르겠습니다. 위의 코드 줄 이후에 이러한 태그를 제거하려고했지만 그로 인해 문제가 발생하고 처음부터 삽입하지 않는 것이 훨씬 더 낫습니다.
위의 정규 표현식에서 배제하는 것이 가능합니까? 그렇지 않다면 또 뭐야?
감사
편집 : 아래 이름없는 '답변에 따라이 코드를 함께했다. 그것은 효과가있는 것처럼 보입니다.
$chunks = preg_split("/(<code>.*?<\/code>)/is", $text, -1, PREG_SPLIT_DELIM_CAPTURE) ;
$text = '' ;
foreach($chunks as $chunk) {
if (preg_match("/^<code>/i", $chunk)) {
$text .= $chunk ;
} else {
$text .= '<p>' . preg_replace("/(\n|\r)+/i", "</p><p>", $chunk) . '</p>' ;
}
}
죄송합니다. 이 텍스트 "라인 하나 \ n \ n 연구 \의 nLine 세 \ nLine 네 \ \ rLine 두 사람은" "
라인 하나
라인이
라인 세
4 번
을"이 될 것입니다. 그리고 나는 CSS가 스타일링을위한 것이라는 것을 알고 있지만, HTML은 여전히 CSS에 스타일을 적용 할 위치를 알려줍니다. –당신은 이것을 위해 HTML 툴킷을 사용하고 싶습니다. http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662를 참조하십시오. – Gordon