2011-03-29 2 views
0

[ (단 하나의 괄호, ] 포함하지 않음)을 포함하는 텍스트를 삽입하면 앞의 PHP 페이지에 mysql 쿼리를 사용할 때 [가 html CSS 형식을 손상시킵니다.PHP는 - 왜 mysql 텍스트를 포함하는```손상됩니다 html css 형식

$result = mysql_query("SELECT * FROM mytable Order By date DESC LIMIT 10"); 
while ($row = mysql_fetch_array($result)) 
{ 
echo '<div class="text">'.$row['content'].'</div>'; 
} 

html 출력 소스 코드를 확인합니다.

[ 텍스트 전에 HTML이 올바른지,

<div class="text">this is a test, no parentheses</div> 

하지만 [ 텍스트 후에 HTML이

<div class=&#8221;text&#8221;>this is a test, contain [ </div> 

으로 보이는 얼마나 많은 상징과 같이 고장의 원인이됩니다? 및 피하는 방법? 감사.

+0

'[''는 요소의 내용이 아닌 속성 내에서만 유효해야하며, html 오류는 무엇입니까? – RobertPitt

+0

'”'은 따옴표를 스마트 쿼트 또는 이와 유사한 것으로 변경하는 중임을 나타냅니다. –

+0

나는 당신이 우리에게 보여준 것을 토대로해서는 안되기 때문에 당신이 관련된 모든 코드를 보여주지 않는다는 것이 분명하다고 생각합니다. –

답변

3

htmlentities 또는 htmlspecialchars을 어디에서 사용하고 있습니까? (!) 참고로, 당신은 아마뿐만 아니라이 같은 일을해야합니다 robertpitt 말했듯이

echo '<div class="text">'.htmlspecialchars($row['content'], ENT_QUOTES).'</div>'; 
+0

아니요, 아닙니다. 지금 해보십시오 ... – cj333

+0

고마워요, 조 필립스, 나는 아무런 지쳐도 지쳤습니다. 삽입 전에 뭔가를해야 할까? – cj333

+0

안녕하세요, 호스트를 등록한 후 시도해도 문제가 없습니다. 그래서 내 컴퓨터에서 PHP와 아파치를 삭제하고 다시 설치하면 문제가 해결됩니다. 내 시스템 오류가 원인 일 수 있습니다. 이상한 문제 ... 모두에게 감사드립니다. – cj333

0

, 태그 내부 텍스트 값으로 문자 [HTML에 손상을주지해야한다. 다른 것을 확인해야합니다.

0

두 번째 예에서는 div 클래스가 &#8221;text&#82212;으로 표시됩니다.
&#8221;은 인용 부호 용 HTML 엔터티 코드입니다. CSS가 깨진 경우 브라우저가 클래스 선언을 "text"으로 해석하지 않아서 규칙을 적용하지 않기 때문입니다. 어쩌면 [이 아니지만 CSS를 깨는 html 엔티티로 따옴표를 대체하는 다른 요인 일 수 있습니다.

+0

myphpadmin에서'['를 단지 움직일 때 html css가 올바르게 표시됩니다. – cj333

+0

'[', 제거 할 때 div 클래스 이름을 따옴표와 함께 또는 따옴표없이 표시합니까? – kevtrout