Regex强制使用字母数字,但允许撇号和连字符



如何修改这个函数,使它允许使用单撇号和连字符:

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

只需在范围末尾包含一个撇号和连字符:

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

我想尽快给你一个答复。

我认为你可以将它们添加到角色类中;不过,你可能需要对它们进行转义。

注意:要使用-,一定要把它放在末尾,否则它将被认为是一个元字符。

最新更新