我從來沒有真正使用過數組,因爲我從來沒有過這麼遠(一個簡單的變量已經足夠對我來說),但現在我已經創建了一個,就是要發佈多個文本區域的表單通過我的PHP腳本。使用換行符作爲數組輸入的分隔符?
我想要做的是使用斷行的遊客輸入作爲一個數組輸入分隔符。
例如,訪問者輸入90行文字(所有的URL),該陣列分解每一個成90°的列表,並創建用於每一個的陣列值。
的任何信息,建議或意見,將不勝感激!:)
我從來沒有真正使用過數組,因爲我從來沒有過這麼遠(一個簡單的變量已經足夠對我來說),但現在我已經創建了一個,就是要發佈多個文本區域的表單通過我的PHP腳本。使用換行符作爲數組輸入的分隔符?
我想要做的是使用斷行的遊客輸入作爲一個數組輸入分隔符。
例如,訪問者輸入90行文字(所有的URL),該陣列分解每一個成90°的列表,並創建用於每一個的陣列值。
的任何信息,建議或意見,將不勝感激!:)
不是100%%的肯定是用什麼換行,例如:
Windows使用\r\n
Linux使用\n
(舊)Mac上使用\r
但是,如果你知道這一點,你可以簡單地做:
$urls = explode("\n", $_POST['urls']);
編輯
實際測試後,使用正則表達式比第一做str_replace()
和爆炸更快。
看http://www.php.net/manual/en/function.preg-split.php並作爲分隔符使用新行標誌
或看到PHP REGEX - text to array by preg_split at line break
要小心使用只是\r
或\n
因爲每個操作系統都具有「新線」定義的另一種方式
通過看答案Tgr
on SO question PHP REGEX - text to array by preg_split at line break
使用爆炸
$array=explode("\n",$_POST['textarea']);
謝謝,正是我在找的東西。所以,當我調用$ array [0],$ array [1]等,我認爲它給出了行的值? – Fireworksable
$ array [0]是第一行$ array [1]是第二個,等等 – RiaD
謝謝:)。到底我在找什麼,我看過之前使用過的爆炸函數,但從來沒有想到它實際做了什麼)。 – Fireworksable
使用str_replace並且每次爆炸都會有效:'$ url = str_replace(array(「\ r \ n」,「\ r」),「\ n」,$ _POST ['urls']);' –