타이포그라피 Typography Helper
이 헬퍼는 텍스트를 의미론적으로 적합하게 포멧팅하는것을 도와줍니다.
헬퍼로딩 Loading this Helper
다음과같이 헬퍼를 로드합니다:
$this->load->helper('typography');
다음 함수들이 사용가능 합니다:
auto_typography()
텍스트를 받아서 의미론적으로 올바르며 출력에 적합한 HTML로 포멧팅합니다.문자열을 입력받아 아래와 같이 변환시킵니다:
- 단락을 <p></p> 로 감쌉니다(단락을 구분하기위해 두번 줄바꿈한것처럼 해줌).
- 줄바꿈은 <br />로 변환합니다.<pre> 태그가 있는경우는 변환하지않습니다.
- <div>태그와 같은 블록수준의 레벨개체(level elements)는 단락으로 감싸지지않으며 단지 그 내용이 단락을 포함하고 있다면 그것은 감쌉니다.
- 태그안에 존재하는것을 제외한 인용부호(',")는 적합한 curly quote(‘, ”) 으로 변환됩니다.
- 아포스트로피(')는 curly apostrophy 엔티티로 변경됩니다.
- 이중 대쉬(--)는 em—대쉬로 변경됩니다.
- 문장앞 혹은 뒤에 있는 세개의 연속되는 점은 생략부호( …)로 변경됩니다.
- 두개의 공백은 들로 변경되어 같은 효과를 내도록 해줍니다.
예:
$string = auto_typography($string);
참고: 본 헬퍼를 사용하는것은 그 처리량이 많을경우 시스템 리소스를 많이 잡아먹으므로 ,캐싱(caching) 을 고려해보시기 바랍니다.
nl2br_except_pre()
줄바꿈을 <br />로 변경합니다.단 <pre> 태그 내부에 있는것은 변경하지 않습니다. 이함수는<pre>태그를 무시한다는점을 제외하면 PHP에 내장된 nl2br() 함수와 동일합니다.
예:
$string = nl2br_except_pre($string);