如何在插入WordPress之前清理post_name值?

时间:2010-08-18 02:55:26

标签: wordpress

如何在插入WordPress之前清理post_name值?

3 个答案:

答案 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变得非常实用。

alt text

只需执行include( "wp-config.php" );并在没有任何其他PHP开销的情况下开展业务,即可使用此功能。

如果您要处理一些时髦的游戏,可以使用简单的strip_tags(trim())。否则,你还有其他问题要处理; - )