Изпълнявам някакъв ajax, който изпраща екраниран текст от клиента към php страница, работеща на сървъра. В текста има връщане на каретка. Когато повторя тези с помощта на php, те се показват в текста като \n
.
Когато обаче се опитам да заменя \n
с str_replace
, функцията не ги намира.
Това ме подлудява.
За разлика от това, ръчно създадох променлива в същия php файл с куп \n
s в него и в този случай същият 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