我正在尝试替换字符串中不是字母、数字或破折号"-"的任何内容。
如何修改此行以包含破折号?
$link = preg_replace('/[^a-z0-9]/', "", strtolower($_POST['link_name']));
我只是把它插入那里吗?
$link = preg_replace('/[^a-z0-9-]/', "", strtolower($_POST['link_name']));
你必须
转义-
因为它是正则表达式的特殊字符:
$link = preg_replace('/[^a-z0-9'-]/', '', strtolower($_POST['link_name']));
只需在类的末尾添加-
([^a-z0-9-]
)。
-
在类结束时没有特殊含义。 或者,使用反斜杠对其进行转义。