繁体   English   中英

PHP从字符串中删除所有非UTF-8字符

[英]PHP remove all non UTF-8 characters from string

我需要从字符串的开头和结尾删除“,。/!等符号。”但仍然需要保留数字和字符,如½čęėįšųž,以及UTF-8中的更多字符,例如:

  1. 字符串&g&g的结果应为g&g ;
  2. 字符串ąčęėį的结果应为ąčęėį
  3. 字符串"name"的结果应为name
  4. 字符串69的结果应为69
  5. 字符串--abc---的结果应为abc

我相信应该使用preg_replace完成,但找不到方法。

如果我理解得很好,这将满足您的要求:

$result = preg_replace('/(?:^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$)/u', '', $input);

哪里

\\p{L}代表字母(unicode)中的任何字符
\\p{N}代表任何数字字符(unicode)
[^\\p{L}\\p{N}]是一个否定字符类,用于匹配不是字母或数字的字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM