我想从字符串变量中删除一个出现在空格之间的字符,我使用了一些PHP函数来执行它,如str_replace
,但没有任何反应。如何删除字符“ ”在PHP字符串变量
下面的例子中,我告诉它通过PHP的var_dump功能:
string '�I�N�S�E�R�T� �[�d�b�o�]�
如果有人能告诉我一个办法做到这一点,我会很感激。
我想从字符串变量中删除一个出现在空格之间的字符,我使用了一些PHP函数来执行它,如str_replace
,但没有任何反应。如何删除字符“ ”在PHP字符串变量
下面的例子中,我告诉它通过PHP的var_dump功能:
string '�I�N�S�E�R�T� �[�d�b�o�]�
如果有人能告诉我一个办法做到这一点,我会很感激。
你可以尝试:
$str = '�I�N�S�E�R�T� �[�d�b�o�]�';
$filtered_str = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH)
这是一个简单的字符串变换操作(Demo):
$string = '�I�N�S�E�R�T� �[�d�b�o�]�';
echo strtr($string, array('�' => ''));
输出:
INSERT [dbo]
但是你可能有问题,实际上不知道该字符,然后将需要你先正确获取字符串。因此,在后来取代它只会是错误的地方。
看起来很简单,但如果你分配句子strtr($ string,array(' '=>''));到一个变量,他们通过var_dump打印变量,你会看到什么问题。 – oletob
@evolquez:看到这里,有一个变量和var_dump:http://codepad.org/j8iEVkZ2 – hakre
我用函数filter_var解决了它:$ str =' I N S E R T [ DBO]'; $ filtered_str = filter_var($ str,FILTER_SANITIZE_STRING,FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH)...无论如何感谢 – oletob
您需要正确处理的编码:什么每个程序员绝对,肯定需要知道编码和字符集进行工作,文字](http://kunststube.net/encoding/) – deceze
了解这^并阅读使用正则表达式删除字符。这里是一个堆栈溢出链接:http://stackoverflow.com/questions/5011640/stripping-out-characters-that-arent-a-za-z0-9-and-from-php-strings – WozzeC