我有一个包含textarea值的php变量,如下所示。
Name:Jay
Email:jayviru@demo.com
Contact:9876541230
现在我希望这些行在数组中如下所示。
Array
(
[Name] =>Jay
[Email] =>jayviru@demo.com
[Contact] =>9876541230
)
我在下面试过,但没有工作: -
$test=explode("<br />", $text);
print_r($test);
答案 0 :(得分:6)
你可以使用内置PHP_EOL
的php尝试这段代码但是数组索引几乎没有问题所以我修复了它
<?php
$text = 'Name:Jay
Email:jayviru@demo.com
Contact:9876541230';
$array_data = explode(PHP_EOL, $text);
$final_data = array();
foreach ($array_data as $data){
$format_data = explode(':',$data);
$final_data[trim($format_data[0])] = trim($format_data[1]);
}
echo "<pre>";
print_r($final_data);
,输出为:
Array
(
[Name] => Jay
[Email] => jayviru@demo.com
[Contact] => 9876541230
)
答案 1 :(得分:3)
最简单的方法: -
$textarea_array = array_map('trim',explode("\n", $textarea_value)); // to remove extra spaces from each value of array
print_r($textarea_array);
$final_array = array();
foreach($textarea_array as $textarea_arr){
$exploded_array = explode(':',$textarea_arr);
$final_array[trim($exploded_array[0])] = trim($exploded_array[1]);
}
print_r($final_array);
输出: - https://eval.in/846556
答案 2 :(得分:0)
这对我也有用。
$convert_to_array = explode('<br/>', $my_string);
for($i=0; $i < count($convert_to_array ); $i++)
{
$key_value = explode(':', $convert_to_array [$i]);
$end_array[$key_value [0]] = $key_value [1];
}
print_r($end_array); ?>
答案 3 :(得分:0)
我认为你需要创建3个输入:text,并解析它们,因为如果你在文本区写下这个值可能会出错,当写密钥时。否则将一个字符串拆分成一个数组,并在创建新数组后,其中key将为奇数值,值将为偶数值旧数组