이 기사의 예에서는 Smarty와 CSS 간의 구문 충돌을 방지하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
CSS에 익숙한 사람들은 Smarty와 CSS 사이에 구문 충돌이 있다는 것을 금방 알 수 있습니다. 둘 다 중괄호 {}를 사용해야 하기 때문입니다. HTML 문서의 헤더에 CSS 태그를 삽입하면 '인식할 수 없는 태그' 오류가 발생합니다.
<html> <head> <title>{$title}</title> <style type="text/css"> p{ margin::2px } </style> </head> ...
3가지 솔루션이 있으므로 걱정하지 마세요.
1. 링크 태그를 사용하여 다른 파일에서 스타일 정보를 추출합니다.
<html> <head> <title>{$title}</title> <link rel="stylesheet" type="text/css" href="css/default.css"/> </head> ...
2. Smarty의 리터럴 태그를 사용하여 스타일 시트 정보를 둘러쌉니다
이 태그는 Smarty에게 이 태그 내의 어떤 것도 구문 분석하지 말라고 지시합니다.
<html> <head> <title>{$title}</title> {literal} <style type="text/css"> p{ margin::2px } </style> {/literal} </head> ...
3. Smarty의 기본 구분 기호 수정
이는 center_delimiter 및 center_delimiter 속성을 설정하여 수행할 수 있습니다.
<?php require("Smarty.class.php"); $smarty=newSmarty; $smarty->left_delimiter=''; $smarty->right_delimiter=''; ... ?>
세 가지 솔루션 모두 문제를 해결할 수 있지만 CSS를 별도의 파일에 저장하는 것이 일반적인 관행이므로 첫 번째 솔루션이 아마도 가장 편리할 것입니다. 또한 이 솔루션에서는 Smarty의 중요한 기본 구성(구분 기호)을 수정할 필요가 없습니다.
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.