[英]How to replace/remove 4(+)-byte characters from a UTF-8 string in PHP?
[英]PHP remove all non UTF-8 characters from string
我需要从字符串的开头和结尾删除“,。/!等符号。”但仍然需要保留数字和字符,如½čęėįšųž,以及UTF-8中的更多字符,例如:
&g&g
的结果应为g&g
; ąčęėį
的结果应为ąčęėį
; "name"
的结果应为name
; 69
的结果应为69
--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.