php - 字符串清理以支持特殊字符,例如 ñ、á、é、í、ó、ú 等

标签 php regex

我目前正在使用这个脚本来清理一段文本......

function rseo_sanitize($s) {
    $result = preg_replace("/[^a-zA-Z0-9'-]+/", "", html_entity_decode($s, ENT_QUOTES));
    return $result;
}

我想添加对特殊字符集合的支持,例如 ñ、á、é、í、ó、ú 等

如何将这些(以及更大的西类牙字符集)整合到 preg_replace 中?

最佳答案

可以使用/\pL+/u来匹配Unicode中的所有字母符号。

PCRE 中没有专门针对西类牙字母的单独平面,但您可以尝试:

 /[^\p{Latin}0-9'-]+/u

这包括我认为来自 ISO Latin-1 字符集的所有内容。这包括其他欧洲语言,而不仅仅是西类牙语。但否则你真的必须单独列出所需的字母。

关于php - 字符串清理以支持特殊字符,例如 ñ、á、é、í、ó、ú 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217881/

相关文章:

c++ - 如何检查哪个匹配组被用来匹配(boost-regex)

java - 拆分问题(字符串正则表达式)

regex - 如何用正则表达式查找*

mysql - ruby:从字符串中去除反斜杠

php - 为什么 file_get_contents 适用于 google.com 但不适用于我的网站?

php - 区分继承的方法和类自己的方法的最佳实践

php - 如何将新的数组值插入PHP session 数组?

php - 外部服务器上的关系表上的 Laravel where() 和 orderBy()

PHP 表单接受空白字段登录

regex - 取出strsplit中的元素并放入dataFrame