$text = "This is /n my text /n wow"; $quotes = explode('/n',$text);
这将把字符串拆分为“This is”“My text”“wow”但我希望它保持字符串“/n”不变,而不是将其切断,输出应该像这样:“这是/n”“我的短信/n”“哇”
i7uq4tfw1#
将字符串分解为一个数组,然后将分隔符附加到结果数组的每个元素上。
$sep = "/n"; $text = "This is /n my text /n wow"; $quotes = explode($sep,$text); $quotes = array_map(function($val) use ($sep) { return $val . $sep; }, $quotes); $last_key = count($quotes)-1; $quotes[$last_key] = rtrim($quotes[$last_key], $sep);
(也可能需要trim($val))。
trim($val)
yzuktlbb2#
你有没有考虑过使用preg_split()函数。根据文件:preg_split -通过正则表达式拆分字符串使用此函数,应用一个正向后查找,匹配前面/n字符串后面的空格。
preg_split()
/n
$quotes= preg_split("/(?<=\/n) /", $text);
您可以在上面的语句之后执行print_r($quotes);来测试这是否是所需的功能。print_r函数的输出如下所示:
print_r($quotes);
print_r
Array ( [0] => This is /n [1] => my text /n [2] => wow )
您可能需要在值上使用trim()来清除前导和尾随空格,但总体而言,它似乎可以完成您所要求的任务。
trim()
DEMO:
如果你想测试这个功能,尝试复制下面的代码块并将其粘贴到http://phpfiddle.org上的CodeSpace窗口中。
<?php $text = "This is /n my text /n wow"; $values = preg_split("/(?<=\/n) /", $text); print_r($values); ?>
选择Run - F9选项查看输出。我为复制和粘贴演示示例道歉。我不知道如何像其他一些小提琴程序一样创建一个专用的URL。
9fkzdhlc3#
如果你只有一个可能的分隔符,那么你可以简单地将它附加到explode返回的标记上。但是,如果你问这个问题,例如。因为您有多个可能的分隔符,并且需要知道哪一个分隔符分隔两个标记,所以preg_split可能适合您。例如,对于分离器','和';':
explode
preg_split
','
';'
$matches = preg_match('/(,|;)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
3条答案
按热度按时间i7uq4tfw1#
将字符串分解为一个数组,然后将分隔符附加到结果数组的每个元素上。
(也可能需要
trim($val)
)。yzuktlbb2#
你有没有考虑过使用
preg_split()
函数。根据文件:preg_split -通过正则表达式拆分字符串
使用此函数,应用一个正向后查找,匹配前面
/n
字符串后面的空格。您可以在上面的语句之后执行
print_r($quotes);
来测试这是否是所需的功能。print_r
函数的输出如下所示:您可能需要在值上使用
trim()
来清除前导和尾随空格,但总体而言,它似乎可以完成您所要求的任务。DEMO:
如果你想测试这个功能,尝试复制下面的代码块并将其粘贴到http://phpfiddle.org上的CodeSpace窗口中。
选择Run - F9选项查看输出。我为复制和粘贴演示示例道歉。我不知道如何像其他一些小提琴程序一样创建一个专用的URL。
9fkzdhlc3#
如果你只有一个可能的分隔符,那么你可以简单地将它附加到
explode
返回的标记上。但是,如果你问这个问题,例如。因为您有多个可能的分隔符,并且需要知道哪一个分隔符分隔两个标记,所以preg_split
可能适合您。例如,对于分离器','
和';'
: