0
通過使用Trie數據結構來實現褻瀆濾鏡。每個發誓的單詞都被添加到Trie。當我有一個字符串來消除褻瀆,我用標點符號爆炸字符串,並檢查與Trie的每一個字。如果發現我用星號替換。然後我爆裂字符串問題是,我如何跟蹤標點符號?換句話說,我如何確保生成的字符串具有標點符號?字符串已使用標點符號作爲分隔符分隔;如何重新組裝並將標點重新放入?
通過使用Trie數據結構來實現褻瀆濾鏡。每個發誓的單詞都被添加到Trie。當我有一個字符串來消除褻瀆,我用標點符號爆炸字符串,並檢查與Trie的每一個字。如果發現我用星號替換。然後我爆裂字符串問題是,我如何跟蹤標點符號?換句話說,我如何確保生成的字符串具有標點符號?字符串已使用標點符號作爲分隔符分隔;如何重新組裝並將標點重新放入?
如果您使用preg_split()
拆分字符串,請考慮使用PREG_SPLIT_DELIM_CAPTURE
標誌來捕獲帶有匹配的標點符號。
考慮:
$str = "This. string/ has? punctuation!";
print_r(preg_split('/(\W+)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE));
/*
Array
(
[0] => This
[1] => .
[2] => string
[3] =>/
[4] => has
[5] => ?
[6] => punctuation
[7] => !
[8] =>
)
*/
更多信息請參見http://php.net/preg_split。
我懷疑你需要標點這些單詞;) – Blender 2011-05-26 18:47:50
難道你不能使用一些其他的字符,而不是標點符號嗎? – BlueEel 2011-05-26 18:50:05