2016-11-10 103 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']));