清除PHP字符串

时间:2017-09-04 09:24:31

标签: php preg-replace str-replace

我在尝试使用字符串时遇到问题,当我将其复制到notepad ++并查看所有字符选项卡时,它显示了以下附加符号。我的知识是它们是换行符和空格。问题是,我似乎无法将它们从我的字符串中删除?

说明:

我有一个使用shell_exec从存储的数据库中获取信息的函数。

$output = trim(shell_exec("'".$command."' 2>&1")); //Trimmed version
return $output;

我有一个学分制,但是当他们加载页面时,它会根据用户等调用函数来获取学分。

$Credits = Sqlite('select "Credits" from TBL WHERE User = "bla" limit 1');

事实是,信用证回来时旁边有一个。因此,如果我存储9.50,则会收到�9.50。在调查时,我注意到字符串中包含上述字符?

我的PHP尝试:

$Credits = preg_replace('/\s/', '', $Credits); //Clear all spaces
//$Credits = str_replace(' ', '', $Credits); //Clear spaces <-- dont work either
$Credits = str_replace('\r\n', '', $Credits); //Clear all new lines
echo $Credits; //Still returns the new line etc

string issue

1 个答案:

答案 0 :(得分:0)

$ Credits只是一个变量,不会改变文件的上下文。所以试一试:

<?php
$text = file_get_contents('source.txt');
echo '<pre>'; // to display any new line from linebreak
echo $text;

echo '<br>====<br>';

$text = preg_replace('/\r\n/','a',$text); // a is just an indicator of original linebreak which you can use '' empty instead

echo $text // display text after linebreak is replaced from variable $text
file_put_contents('source2.txt', $text); // save this to file with linebreaks removed
// or replace content of source.txt
?>