У меня есть система управления клиентом, которую я запрограммировал в 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 и поместил результаты в строку, то эхо-строку, & и все после ее исчезновения. Имя хранится в базе данных отлично, поскольку они вытаскивают их обратно в поля при редактировании. –