티스토리 뷰

728x90

tistory 블로그에 SyntaxHighlighter 를 적용하고나서 몇가지 특수문자의 문제가 있어서 제작해봤습니다.
 문제는 <>로 열고 닫는 문항의 경우 html 코드에 의해 항상 </> 가 생겨버리는 문제입니다. 이것 말고 다른 특수문자의 문제가 있거나 하지는 않지만 c, c++, oc, java, xml 등 <>에 문제가 생겨서 개발하게 되었습니다.
 추후에 자동 복사, Type 선택 등을 통해서 쉽게 복사 붙여넣기를 할 수 있도록 만들려고 합니다. 붙여넣을때는 html 에 붙여넣어야 하지만 좀더 쉽게 붙어넣게 만들기 위해서 제작했습니다.

Syntax Highlighter은 아래 사이트를 참고해주세요.
  http://bit.thdev.net/HaloIy

특수문자 변환 페이지
  http://bit.thdev.net/H9Ggnc

허접 하지만 소스코드 공개합니다. DB는 MySQL을 사용했습니다.

ver 1.0 의 소스코드이며, 제작한 페이지에서 뽑아온 코드입니다.

서버, 아이디, 비밀번호, 이름 부분을 따로 분리하고, Connection 부분을 따로 분리하였습니다.
mysql DB.php

<?php
	$DB_SERVER = "localhost";
	$DB_USER = "user id";
	$DB_PASS = "password";
	$DB_NAME = "db name";
?>

mysql MySQLDB.php (참고 : http://php.net/manual/en/book.mysql.php)

<?php
	class MySQLDB
	{
		private $connection;  //The MySQL database connection

	//Class constructor
	function MySQLDB() {
		include 'DB.php';
		$this->connection = mysql_connect($DB_SERVER, $DB_USER, $DB_PASS) or die(mysql_error());
		mysql_select_db($DB_NAME, $this->connection) or die(mysql_error());
	}
	
	function MySQLSelect($query) {
		$result = mysql_query($query, $this->connection);
		return $result;
	}
	
	};
?>

아래코드는 메인페이지 소스코드입니다. textarea에서 내용을 작성하고 DB에 저장해놓은 타입을 확인하고, 뿌려주는 간단한 코드입니다.

php 코드

<?php
	include '../db/MySQLDB.php';

	$resultData = $_POST['data'];

	$database = new MySQLDB;
	$query = 'SELECT * FROM specialCharacter';
	$result = $database->MySQLSelect($query);
	
	while($row = mysql_fetch_array($result)) {
		$resultData = str_replace($row[2], $row[1], $resultData);
	}
?>
<html>
<head>
        <title>문자열 치환</title>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
</head>
<body>
	<form action="index.php" method="post">
        <div class="background">
                <div class="title">
			Data Type 선택
                </div>
                <div class="textArea">
		<textarea name="data" rows="20" cols="100%"></textarea>
                </div>
                <div class="title">
                </div>
                <div class="textArea">
		<xmp>
		<?php
		if($resultData != NULL) {
			 echo $resultData;
			$result = NULL;
		}
		?>
		</xmp>
		<button type="submit" name="submit" value="submit-value">Submit</button>
        </div>
	</form>
</body>
</html>





댓글