jquery에서 문자열을 연결하고 싶지만 문자열을 게시하면 mystringg의 일부만 표시됩니다.
내 HTML은 다음과 같습니다.
<input type="text" style="display:none" name="mystring" id="mystring" value=""/>
몇 가지 변수가 있습니다.
var ti="ti";
var low="low";
var moderate="moderate";
var high="high";
var title="title";
그리고 다음과 같은 문자열을 연결하려고합니다.
var mystringg="";
mystringg+= "<\n"+ti+">";
mystringg+= "\n<LOW> "+low+" </LOW> ";
mystringg+= "\n<MODERATE> "+moderate+" </MODERATE> ";
mystringg+= "\n<HIGH> "+high+" </HIGH> ";
mystringg+="\n</"+title+">";
alert(mystringg); // here print the right value of the string
$('#mystring').val(mystringg);
PHP에서 :
$string = $_POST['mystring'];
echo $string;
mystringg에게 경고하면 올바른 문자열을 얻습니다. 그러나 다른 PHP 페이지에 게시하면 값의 일부만 얻습니다. 실제로 수동 값이 아닌 변수의 값만 얻습니다.
당신은 완전한 가치를 얻고 있습니다. 그렇게 생각하지 않는 이유는 표준 HTML 태그는 아니지만 태그로 래핑했기 때문입니다.
이면 다음 var_dump($_POST['mystring']);
이 표시됩니다.
string '<ti><LOW> low </LOW> <MODERATE> moderate </MODERATE> <HIGH> high </HIGH> </title>'
따라서 완전한 가치가 있습니다.
그러나- echo
코드 를 볼 때 태그는 HTML 태그로 렌더링되므로 표시되지 않으므로 다음과 같이 보입니다.
low moderate high
그러나 소스를 보면 실제로 모든 것이 있다는 것을 알 수 있습니다.
<ti><LOW> low </LOW>
<MODERATE> moderate </MODERATE>
<HIGH> high </HIGH>
</title>
에코 할 때 "태그"를 보려면 다음 과 같이 htmlspecialchars를 사용하여 에코합니다 .
echo htmlspecialchars( $_POST['mystring'] );
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다