我想要将一个字符串按照空格(" ")和换行符("\n")作为分隔符分割并放入数组中。
方法(我认为不是最好的方法)是:
参考:new line Array
方法(我认为不是最好的方法)是:
- 通过空格将数组分割
- 从数组重新组成字符串
- 再次分割为新行
- MySQL转义单个元素。
参考:new line Array
$segments = preg_split('/[\s]+/', $string);
\s
)出现的地方分割$string
,包括空格、制表符和换行符。多个连续的空白字符将被视为一个(例如"hello, \n\t \n\nworld!"
将仅被分割成hello,
和world!
,中间没有空字符串)。preg_split
来按多个分隔符将内容拆分。$pattern = '/[ \n]/';
$string = "something here ; and there, oh,that's all!";
echo '<pre>', print_r( preg_split( $pattern, $string ), 1 ), '</pre>';
echo ( string $arg1 [, string $... ] )
。 - Yogesh Suthar<?php
$str = "Brand : Pandora~ Collection : Summer 13~ Colour : Multi~ Gender : Ladies~ Material : Murano Glass~ Our Code : 0573835~ Packaging : Pandora Branded Packaging~ Product Code : 750513~ Product Type : Bead~ Style : Contemporary";
$r1 = explode("~", $str);
$stringtxt = '<table>';
if (count($r1) > 0) {
foreach ($r1 as $value) {
$rows = explode(":", $value);
$stringtxt .= '<tr>';
$stringtxt .= '<td>' . $rows[0] . '</td><td>' . $rows[1] . '</td>';
$stringtxt .= '</tr>';
}
}
$stringtxt .= '</table>';
print $stringtxt;
?>
输出
<table>
<tr><td>Brand </td><td> Pandora</td></tr>
<tr><td> Collection </td><td> Summer 13</td></tr>
<tr><td> Colour </td><td> Multi</td></tr>
<tr><td> Gender </td><td> Ladies</td></tr>
<tr><td> Material </td><td> Murano Glass</td></tr>
<tr><td> Our Code </td><td> 0573835</td></tr>
<tr><td> Packaging </td><td> Pandora Branded Packaging</td></tr>
<tr><td> Product Code </td><td> 750513</td></tr>
<tr><td> Product Type </td><td> Bead</td></tr>
<tr><td> Style </td><td> Contemporary</td></tr>
</table>
始终从大到小进行。
因此,首先通过"\n"
拆分,然后通过" "
拆分。
$data = "This is a test\nAnd something new happens.";
$rows = explode("\n", $data);
$words = array();
foreach($rows as $row) {
$temp = explode(" ", $row);
foreach($temp as $word)
$words[] = $word;
}
preg_split('/[\s\n]/', $str );
- Prasanth Bendra