php正则表达式防止替换$符号

时间:2016-03-19 18:26:51

标签: php regex preg-replace

我有一个php函数,它从string:

生成标签
function generate_tags($text)
{
    $string = preg_replace('/[^\p{L}\p{N}\s]/u', ' ', $text);
    $string = preg_replace('/\s+/', ' ', $string);
    $string = mb_strtolower($string, 'UTF-8');
    $keywords = explode(' ', trim($string));
    foreach($keywords as $key => $value)
    {
        if((strlen($value)) < 1)
        {
            unset($keywords[$key]);
            continue;
        }
    }
    $result = array_unique($keywords);
    $result = array_values($result);
    return $result;
}

字符串是: Ke $ ha - 我们是谁(Cherry Cole Private Booty)Full Oficial Version

但它取代了$符号。如何在我的函数上阻止$符号?

2 个答案:

答案 0 :(得分:1)

修改第一个preg_replace以跳过$

$string = preg_replace('/[^\p{L}\p{N}\s$]/u', ' ', $text);

答案 1 :(得分:0)

修改第一个preg_replace也跳过$:$string = preg_replace('/[^\p{L}\p{N}\s$]/u', ' ', $text); 您只需按一下投票按钮下方的对勾即可。