2016-11-10 105 views
2

當用戶添加新行並將此新行(通過HTML)放入數組位置時,我需要拆分文本。如何使用爆炸拆分

<?php 
$urlstoafiliate = $_POST['urls']; 
$affcj = "http://www.an.com"; 

$arraylinks = explode("/\r\n|\n|\r/", $urlstoafiliate); 
echo $arraylinks[ 0 ]; 

//echo $nombre; 
?> 
+5

如果要使用正則表達式拆分字符串,則需要'preg_split()'。 'explode()'是文字字符串 – Kenyon

+0

explode不支持正則表達式,很容易通過[閱讀手冊](http://php.net/manual/en/function.explode.php)發現 – RiggsFolly

+0

okey我使用preg_split,但是什麼參數來分割html表單中的換行符 – josem

回答

2

你需要preg_split()這樣的:

<?php 
    $urlstoafiliate = $_POST['urls']; 
    $arraylinks = preg_split("/\r\n|\n|\r/", $urlstoafiliate); 
    print_r($arraylinks); 
    // or 
    echo $arraylinks[0]; 
?> 

更多細節:http://php.net/manual/en/function.preg-split.php

1

我會用explode("\n", $urlstoafiliate)得到一個字符串數組,然後我會打電話trim()每串刪除任何尾隨\r(如果有的話),但也包含任何前導或尾隨空格(用戶輸入的URL可能有前導和/或尾隨空格,特別是當用戶從OT中複製/粘貼時她的來源):

$arraylinks = array_map('trim', explode("\n", $_POST['urls']));