php - 如何在 PHP 中替换字符串中的非 ASCII 字符?

标签 php html regex

我需要替换字符串中没有用单个字节表示的字符。

我的字符串是这样的

$inputText="centralkøkkenet kliniske diætister"; 

在该字符串中有øæ 等字符。这些字符应该被替换。如何在可用于替换的正则表达式中提及这些?

最佳答案

如果您想替换字母数字和空格字符以外的所有字符,请尝试。

[^a-zA-Z0-9 ]

这里是 demo

示例代码:

$re = "/[^a-zA-Z0-9 ]/";
$str = "centralkøkkenet kliniske diætister";
$subst = '';

$result = preg_replace($re, $subst, $str);

最好使用 [^\w\s][\W\S] 使其简短,正如@hjpotter92 以及评论中所建议的那样。

图案解释:

[^\w\s]                any character except: word characters:
                        (a-z, A-Z, 0-9, _), whitespace (\n, \r, \t,\f, and " ")

[\W\S]                 any character of: 
                         non-word characters (all but a-z, A-Z, 0-9, _), 
                         non-whitespace (all but \n, \r, \t, \f, and " ")

关于php - 如何在 PHP 中替换字符串中的非 ASCII 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25236761/

相关文章:

regex - 在 Ansible 中使用 regex_replace 提取特定字符串

php - 复杂的正则表达式替换

PHP 正则表达式 : split on unescaped delimiter

php - 如何调试将来自不同输入的图像保存到数据库中的错误

php递归获取所有可能的字符串

html - 在 HTML 中放置 SVG 内容的最佳方式

html - 发布变量在在线服务器上丢失,在本地工作正常

php - 如何在 Linux 上用 PHP 发送 HTML 邮件

php - 如何测试处理 Eloquent 模型的 Laravel 包?

javascript - 谷歌浏览器 "Back"和 "Forward"历史记录