가끔 제목에 잘못된 HTML태그 가 글어가있는 경우

appkr의 이미지

제목에 짝이 안맞는 태그가 들어가있는 경우엔 IE에서 제대로 못보여 주는 거 같은데-_-
(소스를 보면 다 받았지만 화면에는 아무것도 안나오는경우)
이거 어떻게 해결 할 수 없나요?
네스케이프에서는 잘 보이나?

권순선의 이미지

phpbb의 문제인듯 합니다.
해결 방법을 알고 계시는 분들의 도움 부탁드립니다....
그래서 글을 이곳으로 옮겼습니다....

cacolith의 이미지

문자열을 주어진 길이로 잘라주는 함수를 만들어서 사용하면 어떨까요?
이건... 제가 써먹고있는중인 허접한 함수입니다.
원래 펄이었던 녀석을 PHP로 바꾸느라 엄청 이상하네요 --;

// $str을 주어진 길이 $len의 뒷부분을 잘라주는 함수.
function StrCutSize($str,$len=0,$opt=0)
{
// 길이가 주어지지 않으면 자르지 않고 나갑니다/
if( !$len )
{
return $str;
}
// $opt가 주어지면 단어단위로 자릅니다.
if( $opt && preg_match("/\s/",$str) )
{
// 굳이 펄패턴을 이용한 것은, 공백 뿐만 아니라 탭이나 줄바꿈기호까지도 처리할 수 있게 하기 위한 것이었습니다. ^^;
while( preg_match("/\S/",substr($str,$len,1)) ) { $len--; }
}
else
{
// 주어진 문자열을 단어단위로 나눈 뒤...
$array = preg_split("/\s/",substr($str,0,$len));
// 마지막 단어를 바이트단위로 나누어서...
$array = preg_split("//",$array[(count($array)-1)]);
for( $i = 0; $i < count($array); $i++ )
{
// 한글검사를 합니다.
if( ord($array[$i]) > 127 )
{
// 한글일 때에는 2바이트씩 스킵하고...
$i++;
// 마지막 바이트가 한글의 상위바이트라면 1바이트 더 잘라내야 합니다.
$off = ( $i != count($array) - 1 ? 1 : 0 );
}
else
{
$off = 0;
}
}
// $off 가 세팅되어있으면 한글의 상위바이트로 보고 $len을 1 줄입니다.
if($off) $len--;
}

return substr($str,0,$len);
}

권순선의 이미지

음...아직 제대로 테스트는 안해 봤지만 어쨌거나 한글을 제대로 잘라내지 못해서 그런 현상인 것 같네요.

지금 phpbb는 제목에 해당하는 내용을 db에서 뽑아내서 화면에 뿌려주기 전에 문자열을 정확히 잘라내는 루틴이 중간에 들어가 있는지 먼저 확인을 해 보고, 만약 없다면 말씀하신 것과 같은 역할을 하는 놈으로 한번 걸러서 화면에 뿌려 주도록 해야겠네요.

아니면 다른 꽁수가 있을것 같기도 한데....아무튼 시간 나는 대로 살펴보고 적용하도록 하겠습니다.

감사합니다~~~

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.