繁体   English   中英

PHP的修剪将无法正常工作

[英]php trim won't work

所以我有一个服务器端ajax php文件:

$thing = "\n\ncode\n";
echo(trim($thing, '\n'));

在此处输入图片说明

但是,当我使用此php文件进行ajax调用时,responseText不会删除换行符!

在此处输入图片说明

var xhr7 = new XMLHttpRequest();
xhr7.onreadystatechange = function() {
  if (xhr7.readyState == 4) {
    if (xhr7.status == 200) {
      alert('trying');
      alert(xhr7.responseText);
      chrome.tabs.executeScript(null, {code: xhr7.responseText });
    } else {
      alert("404 server side ajax file DOES NOT EXIST");
    }
  }
};
xhr7.open('POST', 'http://texthmu.com/Devin/HMU%20ext/Post-jsfile-forItsCode.php', true);
xhr7.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //following w3 
xhr7.send(); `

\\ n必须使用双引号而不是单引号

echo(trim($thing, "\n"));

当值用单引号引起来时,将其解析为文字。 在这种情况下,您要修剪\\n而不是换行符。

您需要将\\n字符放在双引号( " )字符串中。

PHP不会在单引号( ' )分隔的字符串中插入这些特殊字符。

只需使用

$thing = "\n\ncode\n"; 
echo(trim($thing));

参考: http : //php.net/manual/en/function.trim.php

此函数返回从str的开头和结尾去除空格的字符串。 如果没有第二个参数,trim()将去除以下字符:

  • “”(ASCII 32(0x20)),一个普通空格。
  • “ \\ t”(ASCII 9(0x09)),一个制表符。
  • “ \\ n”(ASCII 10(0x0A)),换行(换行)。
  • “ \\ r”(ASCII 13(0x0D)),回车符。
  • “ \\ 0”(ASCII 0(0x00)),NUL字节。
  • “ \\ x0B”(ASCII 11(0x0B)),垂直制表符。

其他用于以下评论

请注意;

$thing = "\n\nco\nde\n"; // See the \n between co and de ? 
echo(trim($thing, "\n"));

如果您也希望将其删除,则修剪不是适合您的功能。

如果要从字符串中删除所有\\ n,则应使用

str_replace("\n", "", $thing);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM