채택완료

제목에 특정 html코드 못쓰게

2024-12-11 (수) 17:49:27 1,734

글제목에 html코드를 허용하고 있는데

제목란에 유튜브 iframe소스를 넣었더니 그 밑으로 오류가 쫙 생기네요ㅎ

그렇다고 모든 html코드를 제한하자니 좀 그렇고

<b></b>나 <font color="red"></font> 같이 글제목에 쓸만한 코드는 허용하되

iframe이나 링크 등은 제한하는 방법이 있을까요?

|

답변 2개

채택된 답변
+20 포인트
2024-12-12 (목) 16:18:20

* [스킨디렉토리]/write_update.head.skin.php (생성)

Copy
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 제목에서 허용할 HTML 태그 목록
$allowed_title_tags = '<b><strong><font><i><em><u><s><span>';

// HTML 태그 필터링
if (isset($_POST['wr_subject'])) {
  // 허용된 태그만 남기고 나머지는 모두 제거
  $_POST['wr_subject'] = strip_tags($_POST['wr_subject'], $allowed_title_tags);
}
?>
2024-12-12 (목) 09:40:55

<?php echo strip_tags($view['wr_subject'],'허용할태그'); ?>

예를들어서 font 만 허용할 경우
<?php echo strip_tags($view['wr_subject'],'<font>'); ?>

font 와 b 태그를 허용할경우
<?php echo strip_tags($view['wr_subject'],'<font><b>'); ?>

이렇게 넣으시면 됩니다.

위는 view.skin.php 를 기준으로 한것이기 때문에 게시판 리스트에서 하시려면
$view['wr_subject'] -> $list[$i]['wr_subject'] 이렇게 수정하시면 됩니다.

다른 방법으로는

htmlspecialchars 과 preg_replace 가 있습니다

답변을 작성하려면 로그인이 필요합니다.