% 22 (двойные кавычки) добавлено в URL из ниоткуда

Я делаю почтовую программу, которая будет использоваться для рассылки информационных бюллетеней клиентам, в информационных бюллетенях будут изображения и ссылки. Когда я тестировал его на localhost, все работало нормально, а ссылки работали. Однако, когда я загрузил его на свой сайт, ссылки и пути изображения больше не будут работать.

По какой-то причине он добавляет% 22 (который я обнаружил, это двойные кавычки) к ссылкам и путям, поэтому ссылка, которую я отправил, выглядит следующим образом:

/%22http//www.mywebsite.com/%22

И путь изображения выглядит так:

%22http//www.mywebsite.com/content/someimage.jpg/%22

Я использую TinyMCE для редактирования информационного бюллетеня, и я попробовал relative_urls : false и convert_urls : false но это ничего не делает. Я не думаю, что это проблема TinyMCE, но я подумал, что я упоминал об этом в любом случае.

Я не знаю, что вызывает это, поэтому, если кто-нибудь знает, что происходит, это было бы здорово!

Обновление: я проверил свой код и посмотрел на html текста, отправляемого по почте, и нет никаких двойных кавычек по ссылке в любое время, поэтому я предполагаю, что это проблема с сервером.

Related of "% 22 (двойные кавычки) добавлено в URL из ниоткуда"

Это проблема с magic_quotes Проверьте ваш phpinfo (), чтобы увидеть, отключено ли оно. Если вы можете отключить его, вам нужно отключить его в php.ini.

Вы можете проверить, включено ли оно или отключено с помощью следующего кода:

 <?php echo "Magic quotes is "; if (get_magic_quotes_gpc()) { echo "enabled."; } else { echo "disabled"; } ?> 

Еще одним stripslashes() может быть использование stripslashes() для удаления косой черты. Это, скорее всего, решит проблему.

Прочтите документы о stripslashes() ЗДЕСЬ

Быстрый пример:

 <?php $str = "Is your name O\'reilly?"; // Outputs: Is your name O'reilly? echo stripslashes($str); ?> 

Изменить: еще одна вещь, которую вы можете попробовать, – использовать 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 &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now echo $b; // I'll "walk" the <b>dog</b> now ?> 

информация ЗДЕСЬ

Другой ответ. для html_entity_encode() в URL- html_entity_encode() https://stackoverflow.com/a/10001006/1379394

Если у вас нет доступа к вашему файлу php.ini, самый простой способ – это добавить его в ваш файл .htaccess:

php_flag magic_quotes_gpc Выкл.