목표
사용자가 설명에 markdown 또는 html로 입력 한 링크를 표시하려고합니다. 설명은 데이터베이스에 저장되고 읽기가 끝나면 리터럴 마크 업/마크 다운 대신 링크로 표시하기 위해 구문 분석을 시도합니다.PHP markdown 파서의 결과는 유효한 HTML이 아닌 문자열입니다.
문제
나는 데이터베이스에 저장된 인하를 구문 분석 HTML Purifier을 사용하고 있습니다. 파서를 통해 문자열을 실행할 때 페이지의 결과는 유효한 HTML이 아니며 문자열 대신 올바른 HTML이됩니다.
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'a[href]');
$config->set('AutoFormat.Linkify', true);
$config->set('HTML.TargetBlank', true);
$config->set('HTML.TargetNoreferrer', true);
//My database result
$subrow['description'];
$purifier = new HTMLPurifier($config);
printf("<br />%s<br />", $purifier->purify($subrow['description'));
현재 출력은 그대로입니다 :
purify()가 "A 링크
정확히 동일하고 유형 확인을 수행하여 문자열인지 확인하십시오. –
$ test = "A my link\">mylink"; printf ('
% s
', $ test); // this works for me ... hrmm –