Я запускаю некоторый ajax, который отправляет экранированный текст с клиента на php-страницу, работающую на сервере. В тексте есть возврат каретки. Когда я повторяю их с помощью php, они отображаются в тексте как \n
.
Однако, когда я пытаюсь заменить \n
на str_replace
, функция их не находит.
Это сводило меня с ума.
Напротив, я вручную создал переменную в том же файле php с кучей \n
в ней, и в этом случае тот же код str_replace
заменил их нормально.
Могут ли быть какие-то невидимые символы или что-то еще, что отбрасывает его?
Спасибо за любые предложения.
После замены (все в PHP) работает нормально
$var = "some text\nsomemore text\nsome more text\nsome more";
echo $var; //displays above text
$strComma = str_replace("\n",",",$var);
echo "strComma".$strComma; \\all of the \n instances are replaced by comma
После замены не работает
JavaScript (сокращенно)
var text = document.getElementById(textbox).value; //grabs text from client html
var text2 = escape(text); //escape needed to handle special characters in text
//send to php page
xmlhttp.open("GET","storetext.php?text="+text2,true);
xmlhttp.send();
PHP
$var = $_REQUEST['text'];
echo $var; //displays \n as above. So far so good.
$strComma = str_replace("\n",",",$var);
echo "strComma".$strComma; \\ replacement does not take place