如何在插入WordPress之前清理post_name值?
答案 0 :(得分:0)
可能会在http://postedpost.com/2008/06/23/ultimate-wordpress-post-name-url-sanitize-solution/
找到一些解决方案另外,您可能希望按以下方式执行此操作:
$special_chars = array("?", "[", "]", "/", "\\", "=", "<", ">", ":", ";", ",", "'", "\"", "&", "$", "#", "*", "(", ")", "|", "~", "`", "!", "{", "}");
$post_name = str_replace(' ', '-', str_replace($special_chars, '', strtolower($post_name)));
答案 1 :(得分:0)
简单:
$post_title = sanitize_title_with_dashes($post_title);
但是WordPress已经为你做了这件事。我假设你需要一些不同的东西吗?
答案 2 :(得分:0)
我猜你正在通过直接SQL插入进行清理。相反,请考虑在插入脚本中使用wp_post_insert()。
$new_post_id = wp_insert_post(array( 'post_title' => "This <open_tag insane title thing<b>LOL!;drop table `bobby`;" ));
此时,你只是担心你的头衔 - 而不是slu ,,帖子名称等.WP将负责其余的和(至少安全性)消毒。如屏幕截图所示,slug变得非常实用。
只需执行include( "wp-config.php" );
并在没有任何其他PHP开销的情况下开展业务,即可使用此功能。
如果您要处理一些时髦的游戏,可以使用简单的strip_tags(trim())。否则,你还有其他问题要处理; - )