저는 PHP와 MySQL에서 프로그래밍 한 고객 관리 시스템을 보유하고 있습니다. 회사는이를 사용하여 마케팅 및 주문에 대한 고객 세부 정보를 기록합니다. 내 양식에는 다양한 필드가 있으며, 그 중 하나는 비즈니스 이름입니다.텍스트 필드의 앰퍼샌드가 필드 데이터의 디스플레이와 함께 돌아 다니고 있습니다
필드는 전자 메일러로 가져와 고객 견적 등으로 보내집니다. 필드 내용은 데이터베이스에서 가져 와서 다양한 문자열에 저장됩니다. 상호는 예를 들어 $name
에 저장됩니다.
Joe Blogs & Sons
과 같은 회사 이름을 입력하면 전자 메일 시스템으로 가져 오는 작업이 Joe Blogs
이고 앰퍼샌드를 포함하여 앰퍼샌드가 잘린 후에도 문제가되는 것으로 나타났습니다. 그들이 Joe Blogs and Sons
을 사용하면 잘 작동하고 이메일이 꺼지면 Dear, Joe Blogs and Sons
이라고 표시되지만 누군가 &
을 입력하면 Dear, Joe Blogs
으로 끝납니다.
내가 tr_replace
또는 preg_replace
과 같은 말을하는 것이 올바른지 또는 &
의 탈출 방법이 될까요? .
당신이 확인 했 :
나쁜? 만약 그렇다면, 아마 당신은'htmlentities()'함수를 전자 메일에 인쇄/반향하기 전에 변수에 적용해야합니다. – entropid
정보가 너무 적습니다. 도중에 많은 단계가 있습니다. 텍스트가 정확히 어디에 누락됩니까? – deceze
데이터베이스에서 꺼내어 문자열에 추가 한 다음 echo'd에 추가 할 때마다 누락됩니다. 따라서 db에서 선택하고 결과를 문자열에 넣으면 문자열이 사라집니다. 이름은 편집 할 때 필드로 다시 가져 오기 때문에 데이터베이스에 잘 저장됩니다. –