“如何删除字符”࿽&引用;关于PHP字符串变量

“如何删除字符”࿽&引用;关于PHP字符串变量,php,encoding,Php,Encoding,我试图从一个字符串变量中删除一个出现在空格之间的字符,我使用了一些PHP函数,比如str\u replace,但什么也没发生 下面是一个示例,我通过var_dump PHP函数来展示它: string '�I�N�S�E�R�T� �[�d�b�o�]� 如果有人能告诉我这样做的方法,我将不胜感激。这是一个简单的字符串翻译操作(): 输出: INSERT [dbo] 但是,您可能会遇到一个问题,即实际上不知道哪个字符是哪个字符,这将要求您首先正确地获取字符串。因此,在after中替换它将是一

我试图从一个字符串变量中删除一个出现在空格之间的字符,我使用了一些PHP函数,比如
str\u replace
,但什么也没发生

下面是一个示例,我通过var_dump PHP函数来展示它:

string '�I�N�S�E�R�T� �[�d�b�o�]�

如果有人能告诉我这样做的方法,我将不胜感激。

这是一个简单的字符串翻译操作():

输出:

INSERT [dbo]

但是,您可能会遇到一个问题,即实际上不知道哪个字符是哪个字符,这将要求您首先正确地获取字符串。因此,在after中替换它将是一个错误的位置。

这是一个简单的字符串转换操作():

输出:

INSERT [dbo]
但是,您可能会遇到一个问题,即实际上不知道哪个字符是哪个字符,这将要求您首先正确地获取字符串。因此,在后面替换它将是一个错误的位置。

您可以尝试:

$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)
。请参阅:和

您可以尝试:

$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)

。请参阅:和

您需要正确处理编码:了解此^。这里有一个堆栈溢出链接:您需要正确处理编码:了解此^。这里有一个堆栈溢出链接:看起来很简单,但是如果您指定语句strtr($string,array('�' => '')); 你会发现问题出在哪里。我用filter\u var:$str='1'函数解决了这个问题�我�N�s�E�R�T� �[�D�B�o�]�'; $过滤的\u str=过滤的变量($str,过滤的\u消毒的\u字符串,过滤的\u标志的\u带的\u低|过滤的\u标志的\u带的\u高)…无论如何,谢谢回答中所写的,这是错误端的修复。您需要首先检查这些问题标记出现的原因。它们表示无效字符。您的筛选器确实会删除症状,但不会删除原因。看起来很简单,但如果您指定句子strtr($string,array('�' => '')); 你会发现问题出在哪里。我用filter\u var:$str='1'函数解决了这个问题�我�N�s�E�R�T� �[�D�B�o�]�'; $过滤的\u str=过滤的变量($str,过滤的\u消毒的\u字符串,过滤的\u标志的\u带的\u低|过滤的\u标志的\u带的\u高)…无论如何,谢谢正如答案中所写,这是错误端的修复。您需要首先检查这些问题标记出现的原因。它们表示无效字符。您的筛选器确实删除了症状,但没有删除原因。非常感谢,非常有帮助…正是我所想的need@evolquez可能不完全是你需要的。你永远不应该最终得到一个Unicode替换字符� 首先,如果正确处理编码(当然,除非明确插入),请在文本中@xylar问题是,我没有使用任何Unicode字符,我只看到变量不一致,决定使用var_dump函数打印它,并看到每个变量都包含该字符的空格。非常感谢,这很有帮助…正是我想要的need@evolquez可能不完全是您需要的。您永远不应该使用Unicode替换字符� 首先,在您的文本中,如果您正确处理编码(当然,除非显式插入)。@xylar问题是,我没有使用任何Unicode字符,我只看到变量不一致,决定使用函数var_dump打印它,并看到每个变量都包含该字符的空格。