preg_replace / str_replace :内联/换行
preg_replace / str_replace : Inline / line break
我正在寻找一个例子来将我所有的空格替换为 "inline" 我认为在英语中它是换行符。
这是我的 CSV 文件的示例:
"6543945";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"ne circule pas"
"6543945";"1111111111111111111111111111111111111111111111111100001010000101000010100001010000101000010100001010000101100010100001010000101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110001111111111111111111111111111111111111111000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"Q JUSQU'AU 30/01/16 ; VE DF DU 31/01 AU 15/04/16 ; Q A PARTIR DU 17/04/16 (NE CIRCULE PAS 29,30,31/10/16)"
"6543946";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"ne circule pas"
"6543946";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"ne circule pas"
"6543945";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"2";"ne circule pas"
"6543946";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"2";"ne circule pas"
首先,我决定将我所有的 '/"/' 替换为空格 (' '),就像这样:
foreach( $tableau as $row ) {
$replace = preg_replace('/"/', ' ', $tableau[$i]);
echo $replace; ?> <br/> <?php
$i += 1;
}
这是结果:
6543945
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
5017
EnginSouhaite
D
1
ne circule pas 6543945
1111111111111111111111111111111111111111111111111100001010000101000010100001010000101000010100001010000101100010100001010000101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110001111111111111111111111111111111111111111000000000000000000000000000000000000
5017
EnginSouhaite
D
1
Q JUSQU'AU 30/01/16
VE DF DU 31/01 AU 15/04/16
Q A PARTIR DU 17/04/16 (NE CIRCULE PAS 29,30,31/10/16) 6543946
如您所见,我想(而且我更喜欢)进行内联。因为您可以看到 "ne circule pas" 旁边有一些像“654XXX”这样的数字,对我来说,我需要这些数字是内联的。
有人有解决办法吗?我测试过这样的东西:
$replace2 = preg_replace(' ', '/$\n/',$replace);
这是错误的,我认为这是一个很大的错误。
谢谢
已编辑:
您也可以通过这种方式获得结果
foreach( $tableau as $row ) {
$replace = preg_replace('/"/', ' ', $row);
$replace_arr = explode (';',$replace);
foreach ($replace_arr as $key=>$val){
echo $val."<br />";
}
}
您只需将换行符(即 \r\n
)替换为 <br>
:
foreach( $tableau as $row ) {
$replace = preg_replace('/"/', ' ', $row);
$replace = preg_replace('/\R/', '<br>', $replace);
echo $replace, '<br>';
}
\R
代表任何类型的换行符。
我还删除了 $i
的使用,因为不需要它,因为在 for 循环中 $tableau[$i]
与 $row
相同
我正在寻找一个例子来将我所有的空格替换为 "inline" 我认为在英语中它是换行符。
这是我的 CSV 文件的示例:
"6543945";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"ne circule pas"
"6543945";"1111111111111111111111111111111111111111111111111100001010000101000010100001010000101000010100001010000101100010100001010000101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110001111111111111111111111111111111111111111000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"Q JUSQU'AU 30/01/16 ; VE DF DU 31/01 AU 15/04/16 ; Q A PARTIR DU 17/04/16 (NE CIRCULE PAS 29,30,31/10/16)"
"6543946";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"ne circule pas"
"6543946";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"1";"ne circule pas"
"6543945";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"2";"ne circule pas"
"6543946";"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";"5017";"EnginSouhaite";"D";"2";"ne circule pas"
首先,我决定将我所有的 '/"/' 替换为空格 (' '),就像这样:
foreach( $tableau as $row ) {
$replace = preg_replace('/"/', ' ', $tableau[$i]);
echo $replace; ?> <br/> <?php
$i += 1;
}
这是结果:
6543945
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
5017
EnginSouhaite
D
1
ne circule pas 6543945
1111111111111111111111111111111111111111111111111100001010000101000010100001010000101000010100001010000101100010100001010000101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110001111111111111111111111111111111111111111000000000000000000000000000000000000
5017
EnginSouhaite
D
1
Q JUSQU'AU 30/01/16
VE DF DU 31/01 AU 15/04/16
Q A PARTIR DU 17/04/16 (NE CIRCULE PAS 29,30,31/10/16) 6543946
如您所见,我想(而且我更喜欢)进行内联。因为您可以看到 "ne circule pas" 旁边有一些像“654XXX”这样的数字,对我来说,我需要这些数字是内联的。
有人有解决办法吗?我测试过这样的东西:
$replace2 = preg_replace(' ', '/$\n/',$replace);
这是错误的,我认为这是一个很大的错误。
谢谢
已编辑: 您也可以通过这种方式获得结果
foreach( $tableau as $row ) {
$replace = preg_replace('/"/', ' ', $row);
$replace_arr = explode (';',$replace);
foreach ($replace_arr as $key=>$val){
echo $val."<br />";
}
}
您只需将换行符(即 \r\n
)替换为 <br>
:
foreach( $tableau as $row ) {
$replace = preg_replace('/"/', ' ', $row);
$replace = preg_replace('/\R/', '<br>', $replace);
echo $replace, '<br>';
}
\R
代表任何类型的换行符。
我还删除了 $i
的使用,因为不需要它,因为在 for 循环中 $tableau[$i]
与 $row