我想用一個空格(「」)和換行符(「\ n」)作爲分隔符來分解一個字符串(根據分隔符分隔並放入一個數組)。如何使用空格和換行符來爆炸字符串?
(我不認爲是最好的方式)的方法是:
- 再次爆炸由空格
- 翻拍該數組中的字符串
- 爆發,數組新線
- MySQL轉義個別元素。
問題:如何用空格和換行符分解字符串?
我想用一個空格(「」)和換行符(「\ n」)作爲分隔符來分解一個字符串(根據分隔符分隔並放入一個數組)。如何使用空格和換行符來爆炸字符串?
(我不認爲是最好的方式)的方法是:
問題:如何用空格和換行符分解字符串?
爆炸的內容你可以只是做一個
$segments = preg_split('/[\s]+/', $string)
該功能將在每一個空格(\s
)發生,包括空格分割$string
,標籤和換行符。多個連續的空格將計爲一個(例如"hello, \n\t \n\nworld!"
將在hello,
只有world!
拆分,中間無空字符串。
參見功能參考here。
爲我工作簡單和簡短的答案。 –
總是從大到較小的一個。
所以首先由"\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
使用多個分隔符
$pattern = '/[ \n]/';
$string = "something here ; and there, oh,that's all!";
echo '<pre>', print_r(preg_split($pattern, $string), 1), '</pre>';
你應該用echo中的'.'替換'''。 –
@TobiasKun它不會產生任何錯誤。看到它的語法'echo(string $ arg1 [,string $ ...])' –
好吧。我不知道。 Thx爲結算! –
您可以使用爆炸使用多個分隔符的內容。
示例代碼
<?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>
您可以使用這裏可能最有效的正則表達式。另一種方式是爆炸兩次,首先是空格,然後是每個由新行字符產生的數組。最後,將所有數組合併成一個(array_merge) – Voitcus
使用這個:'preg_split('/ [\ s \ n] /',$ str);' –