%22 (двойные кавычки) добавлено в url из ниоткуда
Я делаю почтовую программу, которая будет использоваться для рассылки информационных бюллетеней клиентам, в информационных бюллетенях будут изображения и ссылки. Когда я тестировал его на localhost, все работало нормально, и ссылки работали. Однако, когда я загрузил его на свой сайт, ссылки и пути к изображениям больше не будут работать.
По какой-то причине он добавляет %22 (которые, как я выяснил, являются двойными кавычками ") к ссылкам и путям, поэтому ссылка, которую я отправил, выглядит следующим образом:
/%22http//www.mywebsite.com/%22
И путь изображения выглядит так: это:
%22http//www.mywebsite.com/content/someimage.jpg/%22
relative_urls : false
и convert_urls : false
, но это ничего не дает. Я не думаю, что это проблема TinyMCE, но я думал, что упомяну об этом в любом случае.
Я понятия не имею, что вызывает это, так что если кто-то знает, что это происходит, это было бы здорово!
Обновление: Я проверил свой код и посмотрел на html текста, отправляемого по почте, и нет никаких двойных кавычек вокруг ссылки в любое время, поэтому я предполагаю, что это сервер вопрос.
2 ответа:
Это проблема с
magic_quotes
Проверьте phpinfo (), чтобы увидеть, если он выключен. Если вы можете отключить его, вы должны отключить его в вашем php.ини.Вы можете проверить, включена ли она или отключена с помощью следующего кода:
<?php echo "Magic quotes is "; if (get_magic_quotes_gpc()) { echo "enabled."; } else { echo "disabled"; } ?>
Еще исправить, можно использовать
stripslashes()
, чтобы удалить слеши. Это, скорее всего, решит проблему.Прочитайте документы о
stripslashes()
здесьКраткий пример:
<?php $str = "Is your name O\'reilly?"; // Outputs: Is your name O'reilly? echo stripslashes($str); ?>
Edit: еще одна вещь, которую вы можете попробовать, - это использовать
html_entity_encode()
.Пример:
<?php $orig = "I'll \"walk\" the <b>dog</b> now"; $a = htmlentities($orig); $b = html_entity_decode($a); echo $a; // I'll "walk" the <b>dog</b> now echo $b; // I'll "walk" the <b>dog</b> now ?>
Информация здесь
Еще один такой ответ. для
html_entity_encode()
в URL-адресах https://stackoverflow.com/a/10001006/1379394