불필요 < HTML 템플릿에서 이스케이프 처리: 텍스트/템플릿으로 해결
파일 생성용 템플릿, 특히 Readme 및 라이센스를 활용하는 개발 도구 내에서 최근 문제가 발생했습니다. < 문자는 <로 변환됩니다. 그러나 해당 > 문자는 영향을 받지 않은 채로 남아 있습니다.
문제를 설명하려면 다음 코드 조각을 고려하십시오.
<code class="pawn">#include <{{.Repo}}></code>
여기서 Repo 매개변수는 예상대로 삽입되어야 하며 결과는 다음과 같습니다.
#include <sometext>
그러나 실제 결과는 다음과 같습니다.
#include &lt;sometext>
문서 분석에서는 이 동작에 대한 명확한 설명을 제공하지 못했습니다. > < 문자가 탈출했습니다.
해결책은 html/템플릿의 목적을 이해하는 데 있습니다. HTML 출력을 생성하기 위해 특별히 설계되었으며, 코드 삽입을 방지하기 위해 자동으로 상황에 맞는 이스케이프 기능을 제공합니다. 문서에는 다음과 같이 명확하게 명시되어 있습니다.
html/template은 HTML 출력을 생성하는 데만 사용됩니다. 패키지 텍스트/템플릿과 동일한 인터페이스를 제공하며 출력이 HTML일 때마다 텍스트/템플릿 대신 사용해야 합니다.
여기 Readme 파일의 경우처럼 출력이 HTML이 아닌 경우에는 다음과 같습니다. 텍스트/템플릿을 사용하는 것이 더 적합합니다. 이 템플릿 엔진은 데이터를 이스케이프하지 않아 불필요한 문자 변환 문제를 해결합니다. 텍스트/템플릿으로 전환하여 예상한 출력을 얻었습니다.
#include <sometext>
html/템플릿과 텍스트/템플릿의 이러한 구별은 필요한 경우에만 상황에 맞는 이스케이프가 적용되도록 보장하여 비언어에서 예기치 않은 문자 변환을 방지합니다. -HTML 출력 시나리오.
위 내용은 내 ``는 왜?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!