我有一個客戶管理系統,我已經在php和mysql中編程。一家公司用它來記錄他們的營銷和訂單的客戶詳細信息。我的表單上有各種各樣的字段,其中之一是商業名稱。在文本字段中的&符號與顯示的字段數據扭轉
這些字段被導入到電子郵件發送給客戶的報價等。字段內容從數據庫中拉入並存儲在各種字符串中。公司名稱例如存儲在$name
。
我發現的問題是,如果企業輸入企業名稱,例如Joe Blogs & Sons
導入到電子郵件系統中的末端是Joe Blogs
,那就是,斷開連字符後的任何內容(包括&符號)。如果他們使用Joe Blogs and Sons
這可以正常工作,並且當電子郵件發出時它會顯示Dear, Joe Blogs and Sons
,但是如果有人輸入&
,它只會以Dear, Joe Blogs
結尾。
我是否正確地說s tr_replace
或preg_replace
之類的東西是用這種方法還是逃避&
的方法? 。
你檢查,如果名稱正確地存儲在數據庫中?如果是這樣,也許你應該在打印/回顯它們到電子郵件之前應用函數'htmlentities()'到變量。 – entropid
信息太少。途中有很多步驟,文字在哪裏丟失? – deceze
當它從數據庫中拉出並添加到一個字符串然後echo'd時,它會丟失,所以如果我從db中選擇並將結果放入一個字符串中,那麼會在字符串,&以及它和它消失後的所有內容中回顯。這個名字很好地存儲在數據庫中,因爲它們在編輯時將它們拉回到字段中。 –