У меня есть текстовая область, и я хотел бы взять вкладку текстовой области и объединить ее все вместе. Все работает отлично, за исключением того, что оно ускользает от котировок. Например, test's
выводится как test/'s
Чтобы исправить это, я попробовал htmlenttries, например,
<?php $inputtext= $_POST['textinput']; $encodetext = htmlentities($inputtext); $finaltext = html_entity_decode($encodetext); echo '<p>'.$finaltext .'</p>'; ?>
Это должно работать в соответствии с руководством html_entity_decode (если я не прочитаю его неправильно, что, вероятно, может быть так)
Решение, вероятно, для вас, чтобы вырезать косые черты.
Косые черты автоматически добавляются, когда данные поступают из POST или GET. Это называется волшебными кавычками и по умолчанию включены.
Вы можете удалить эти косые черты с помощью stripslashes()
<?php $text = $_POST['txtarea']; // from textarea if(get_magic_quotes_gpc()){ $text = stripslashes($text); // strip off the slashes if they are magically added. } $text = htmlentities($text); // what htmlentities here does is really to convert: // & to & // " to ' // and change all < and > to < and > respectively. this will automatically disable html codes in the text. echo '<pre>'.$text.'</pre>'; ?>
Вам нужно использовать $encodetext = htmlentities ($inputtext, ENT_QUOTES);
которые не будут пытаться избежать одиночных и двойных кавычек. Посмотрите под флагами здесь: htmlentities
Убедитесь, что вы не передаете второму параметру в своих вызовах htmlentities
и html_entity_decode
. Если вы это сделаете, они будут избегать кавычек / unescape по-разному. Проверьте описание параметра $quote_style
в документации для htmlentities
и html_entity_decode
.