如何在插入WordPress之前清理post_name的值?如何在插入WordPress之前清理post_name值?
1
A
回答
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)));
0
簡單:
$post_title = sanitize_title_with_dashes($post_title);
但WordPress的做到這一點已經爲你。我假設你需要它來做一些不同的事情?
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`;" ));
在這一點上,你只是擔心你的標題 - 而不是蛞蝓,崗位名稱等WP會照顧其餘的和(至少安全)消毒。如屏幕截圖所示,slu becomes變得相當有用。
此功能可以通過簡單地做include("wp-config.php");
和去了解您的業務沒有任何其他的PHP開銷中。
如果你正在處理一些時髦的標題開始,一個簡單的strip_tags(trim())可能會伎倆。否則,您還有其他問題需要處理;-)
相關問題
- 1. 在the_content之前插入代碼(wordpress)
- 2. 如何在wordpress中清理輸入
- 3. 在mongoDB插入前清理數據
- 4. ruby-pg在插入前清理數據
- 5. 如何在繪圖之前清理CGContextRef?
- 6. 如何在發佈之前讓sbt-release插件自動清理?
- 7. 如何在寫入之前清除.txt?
- 8. 如何在使用getch()之前清理輸入緩衝區?
- 9. wordpress插入內容之前comment_template()
- 10. WordPress的wp_update_post不更新post_name
- 11. 在插入之前觸發處理ORDImage
- 12. 如何在將值插入SQL SERVER之前檢查值?
- 13. 如何在單詞之前插入2chars
- 14. 何時過濾/清理數據:在數據庫插入之前或顯示之前?
- 15. 如何在wordpress的feed內容開始之前清除空行?
- 16. 如何清理WordPress代碼?
- 17. 如何在請求驗證進入MVC 4之前清理輸入?
- 18. 如何在插入新值之前檢查複合主鍵
- 19. T-SQL如何在插入之前修改值
- 20. 如何在Derby中插入行之前設置列值?
- 21. Android - 如何避免在插入SqliteDB之前重複值?
- 22. 如何在插入gridview之前知道一行的值?
- 23. 在存入數據庫之前清理輸入
- 24. 在退出之前在node.js中清理
- 25. 在插件之前顯示wordpress評論?
- 26. 插入*之前在Word
- 27. 在Element2之前插入Element1
- 28. 如何在SSIS中插入新記錄之前清空目標表?
- 29. 如何在此表單值前插入或插入?
- 30. WordPress的帖子環秀POST_NAME /塞
sanitize_title($ post_title);作品也是如此 – Anraiki 2010-08-18 15:08:54
@Araraiki:但它不會使用*破折號*。 ;-) 儘管如此,'sanitize_title()'留下了'post_name'中不需要的空格。 – MikeSchinkel 2010-08-19 05:19:15
這很奇怪。 http://codex.wordpress.org/Function_Reference/sanitize_title除非,我讀到它錯誤的例子,他們在那裏顯示。 '這個長標題是我的帖子或頁面可能' - >'這個長標題是什麼我的帖子或頁面可能是' – Anraiki 2010-08-19 15:31:50