本文實例講述了PHP使用preg_split和explode分割textarea存放內容的方法。分享給大家供大家參考,具體如下:
今天有個緊急的bug,說是后臺在配置了白名單后,在手機端app無效,仍然顯示內容。收到郵件后,便走了遍流程,發現后臺配置白名單是在textarea里配置的,一行一個,再在代碼里看,使用的是explode函數分割,其中分隔符使用的是/r/n,代碼大致如下
explode('/r/n', $val);
之后,我便在自己的開發機上測試了下,發現這壓根不會分割textarea存入數據庫的內容,于是在手冊上找,發現了一個很有用的函數preg_split
$str = '12345';print_r(preg_split("//n/",$str));/*Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)*/
【update】
下午的時候經同事提醒,發現原來是分割符有問題,因為在chrome和firefox瀏覽器中textarea是帶/n的換行符,而在ie中是/r/n的換行符,于是使用str_replace替換了下
$str = '12345';print_r(explode("/n", str_replace("/r/n", "/n", $str)));Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)
希望本文所述對大家PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選