0

我有一个字符串,我想使用字符 '§' 将它们转换为数组:

<?php
$string="element1§element2§element3";
$array=explode("&sect;",$string); //tried also &#167; and §,double and single quotes
print_r($array);
?>

输出总是这样:

Array ( [0] =>element1§element2§element3)

如何让 php 识别“§”符号以便将字符串拆分为数组?

编辑:我使用 file() 函数从文件中获取字符串并通过 foreach 迭代数组。如果我使用我自己的示例,它可以工作,但对于外部文件则不行。

我的字符串的 rowurlencode() 如下:

element1%A7element2%A7element3

4

4 回答 4

2

非常适合我

ini_set('default.charset', 'UTF-8');
header('Content-type: text/html;charset=UTF8');

$string="element1§element2§element3";
$array=explode("§",$string);

print_r($array); //Array ( [0] => element1 [1] => element2 [2] => element3 ) 
于 2013-04-03T13:08:36.213 回答
1

rawurlencode 您的字符串以查看该字符的实际代码。

然后将此代码用作分隔符

$array=explode("\xA7",$string);
于 2013-04-03T14:06:30.303 回答
0

如果您从字面上使用:

<?php
  $string="element1§element2§element3";
  $array=explode("§",$string);
  print_r($array);
?>

这将起作用。我的猜测是,在您的情况下,$string它来自不同的来源,并且与您的 PHP 文件的字符编码不同。

于 2013-04-03T13:05:31.397 回答
0

感谢您的常识,我找到了答案。简单地说,我像这样改变我的 explode() 函数:

$array=explode("%A7",rawurlencode($string));

其中“%A7”是“§”的原始代码。

于 2013-04-03T13:52:01.537 回答