我正在开发一个插件,用户可以在其中定义短代码标签。你会建议允许什么,我的想法是只允许 ascii 字符。
另外,你如何清理输入?我在想也许stip_tags
然后正则表达式只允许a-z, 0-9
还是有更好的解决方案?也许wordpress过滤器会起作用?或者我可以使用过滤器 wordpress 用于蛞蝓?
我正在开发一个插件,用户可以在其中定义短代码标签。你会建议允许什么,我的想法是只允许 ascii 字符。
另外,你如何清理输入?我在想也许stip_tags
然后正则表达式只允许a-z, 0-9
还是有更好的解决方案?也许wordpress过滤器会起作用?或者我可以使用过滤器 wordpress 用于蛞蝓?
this-is-a-good-slug 表示您还必须允许使用连字符 (-)
在此之后,您需要调用以下命令:
$string = preg_replace("/[^a-z0-9_\s-]/","",$string); // strip away everything except a-z,0-9 and hyphen
$string = preg_replace("/[\s-]+/"," ",$string); // clean multiple dashes or whitespaces
$string = preg_replace("/[\s_]/","-",$string); // convert whitespaces and underscore to dash
当心; 您还需要将 UTF8 字符更改为 ascii/latin,这意味着您需要将包含此类字符的其他语言音译。