所以我有一个服务器端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(); `
答案 0 :(得分:10)
\ n需要使用双引号而不是单引号
echo(trim($thing, "\n"));
当值是单引号时,它被解析为文字。在这种情况下,\n
代替您正在尝试修剪的换行符。
答案 1 :(得分:4)
您需要将\n
字符放在双引号("
)字符串中。
PHP不会在单引号('
)分隔的字符串中插入这些特殊字符。
答案 2 :(得分:3)
只需使用
$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"));
如果你希望它也被删除,那么修剪不适合你。
如果您希望从字符串中删除ALL \ n,则应使用
str_replace("\n", "", $thing);