您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在PHP变量中去除空格?

如何在PHP变量中去除空格?

认情况下,正则表达式不解释UTF-8字符。该\s元字符只占原来的拉丁语集。因此,以下命令仅删除制表符,空格,回车符和换行符

// http://stackoverflow.com/a/1279798/54964
$str=preg_replace('/\s+/', '', $str);

随着UTF-8成为主流,当该表达式到达新的utf-8字符时,它会更频繁地失败/停止,从而在空格后面留下了\s无法解释的内容

为了处理unicode / utf-8中引入的新型空白,需要使用更广泛的字符串来匹配和删除现代空白。

由于认情况下,正则表达式无法识别多字节字符,因此只能使用带分隔符的元字符串来标识它们,以防止字节段被其他utf-8字符更改(\x80元组\x80的字节可以替换所有子字节)用智能报价)

$cleanedstr = preg_replace(
    "/(\t|\n|\v|\f|\r| |\xC2\x85|\xc2\xa0|\xe1\xa0\x8e|\xe2\x80[\x80-\x8D]|\xe2\x80\xa8|\xe2\x80\xa9|\xe2\x80\xaF|\xe2\x81\x9f|\xe2\x81\xa0|\xe3\x80\x80|\xef\xbb\xbf)+/",
    "_",
    $str
);

此帐户并删除制表符,换行符,垂直制表符,换页,回车,空格,另外从这里

nextline,不间断空格,蒙古语元音分隔符,[en quad,em quad,en space,em space,3个em空间,4个em空间,6个em空间,图形空间,标点空间,稀疏空间,头发空间,零宽度空间,零宽度非连接符,零宽度连接符],行分隔符,段落分隔符,窄的不间断空间,中等数学空间,单词连接符,表意空格和零宽度非打破空间。

当从自动化工具或站点导出时,其中的许多破坏性XML文件损坏文本搜索,识别,并且可以不可见地粘贴到PHP代码中,从而导致解析器 跳至下一个命令 (段落和行分隔符),从而导致行被跳过的代码会导致间歇性的无法解释的错误,我们已开始将其称为“文字传播疾病”

[从网络上复制和粘贴不再安全。使用字符扫描仪来保护您的代码。大声笑]

php 2022/1/1 18:12:31 有895人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶