我目前通過@,#,$分裂utf8mb4_unicode_ci從我的輸出數據庫文字和空間使用下面的方法:Pre_split對待像撇號HTML實體
$textSplit = preg_split("/(?=[ @#$])/", $text, -1, PREG_SPLIT_NO_EMPTY);
但是,如果我分裂了一塊數據庫用單引號的文字,我得到下面的輸出:
// $text is a database value that equals "Is this John's text?"
$textSplit = preg_split("/(?=[ @#$])/", $text, -1, PREG_SPLIT_NO_EMPTY);
// Outputs array(5) { [0]=> string(2) "Is" [1]=> string(5) " this" [2]=> string(5) " John&" [3]=> string(6) "#039;s" [4]=> string(5) " text" }
var_dump($textSplit);
反正有防止使preg_split從治療撇號類似於HTML實體,以便它分裂了這樣的文本?
array(4) { [0]=> string(2) "Is" [1]=> string(5) " this" [2]=> string(7) " John's" [3]=> string(5) " text" }
雖然我不知道如何阻止此行爲的preg_split,但這可以通過逆序來輕鬆解決。 – Docteur
你能舉一個'$ text'的例子嗎? – hwnd
@Docteur你能用一些你認爲可以解決這個問題的示例代碼來回答這個問題,所以我可以試一試嗎?如果它有效,我會標記你的答案是正確的。 –