我有一个textarea并在其中,循环遍历一个非序列化的数组。
我正在尝试在textarea中取出文本,将字符串分解为一个带有新行空格作为分隔符的数组,并序列化数组并存储回数据库。
但是对于这些空格,我将整个字符串作为单个数组元素。
这是我的代码:
$items = unserialize($menu['lunch_items']);
<textarea name="items" class="editInput items form-control input-sm" style="display: none; resize: none;" rows="8" cols="60"><?php foreach($items as $item) :?>
<?php echo $item; ?>
<?php endforeach; ?></textarea>
其输出:
Rice
Parbar Aalu saadheko bhuteko sab sab
Mix Curry (for veg)
Egg Curry (for non-veg)
Mula koreko with sano kerau
这就是我访问textarea值的方法:
var items = $(this).closest("tr").find('textarea[name="items"]').val();
以下是我如何获得并尝试将其分解为数组:
$items = $postValues['items'];
print_r($items);
$itemArr = preg_split('/\r\n|\r|\n/', $items);
$itemArr1 = explode('\n', $items);
print_r($itemArr);
print_r($itemArr1);
die();
控制台输出:
Rice Parbar Aalu saadheko bhuteko sab sab Mix Curry (for veg) Egg Curry (for non-veg) Mula Koreko with sano kerau
Array
(
[0] => Rice Parbar Aalu saadheko bhuteko sab sab Mix Curry (for veg) Egg Curry (for non-veg) Mula Koreko with sano kerau
)
Array
(
[0] => Rice Parbar Aalu saadheko bhuteko sab sab Mix Curry (for veg) Egg Curry (for non-veg) Mula Koreko with sano kerau
)
我想要的是:
Array
(
[0] => Rice
[1] => Parbar Aalu sadheko bhuteko sab sab
[2] => Mix Curry
.
.
)
如何正确地去除空白区域以保持新的线条空间不变,并将其分解为正确的数组?
答案 0 :(得分:2)
对于PHP代码,在生成文本输出后使用trim() - 函数是合理的。因为这里有一个数组,所以使用array_map()更容易:
$itemArr = array_map('trim', $itemArr);
此结果可以返回修剪过的所有数组元素。在此之后,您还可以将数组内爆到一个字符串,您可以将其直接放在textarea中:
$itemArr = implode("\n", $itemArr);
要使用JavaScript修剪,您可以使用JavaScript-trim() - 函数:
var textarea = $(this).closest("tr").find('textarea[name="items"]');
textarea.val(textarea.val().trim());
答案 1 :(得分:0)
$itemsArr = explode("\n", $items) ;
试试这个