首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP格式化文本,创建列表并上传到mysqli

PHP格式化文本,创建列表并上传到mysqli
EN

Stack Overflow用户
提问于 2022-07-16 15:52:24
回答 2查看 40关注 0票数 0

我有以下的文本,我需要格式化它用php逐行读取,并且能够将信息存储在数据库中,我如何使用php来实现呢?

不幸的是,我收到的格式总是这样.与php打交道非常不舒服

代码语言:javascript
复制
b'\r\nNombre de host:                            DESKTOP-5AB1DJ9\r\nNombre del sistema operativo:              Microsoft Windows 10 Pro\r\nVersi\xa2n del sistema operativo:     
    10.0.19044 N/D Compilaci\xa2n 19044\r\nFabricante del sistema operativo:          Microsoft Corporation\r\nConfiguraci\xa2n del sistema operativo:       Estaci\xa2n de trabajo independiente\r\nTipo de compilaci\xa2n del sistema operativo: Multiprocessor Free\r\nPropiedad de:                              Usuario\r\nOrganizaci\xa2n registrada:   
            \r\nId. del producto:                          00330-80000-00000-AA120\r\nFecha de instalaci\xa2n original:             27/09/2020, 8:19:08\r\nTiempo de arranque del sistema:            11/07/2022, 15:54:10\r\nFabricante del sistema:                    ASUSTeK COMPUTER INC.\r\nModelo el sistema:                         ZenBook UX533FD_UX533FD\r\nTipo de sistema:                           x64-based PC\r\nProcesador(es):                            1 Procesadores instalados.\r\n
    [01]: Intel64 Family 6 Model 142 Stepping 12 GenuineIntel ~1792 Mhz\r\nVersi\xa2n del BIOS:                          American Megatrends Inc. UX533FD.306, 16/10/2019\r\nDirectorio de Windows:                     C:\\Windows\r\nDirectorio de sistema:                     C:\\Windows\\system32\r\nDispositivo de arranque:                   \\Device\\HarddiskVolume1\r\nConfiguraci\xa2n regional del sistema:        es;Espa\xa4ol (internacional)\r\nIdioma de entrada:                         es;Espa\xa4ol (tradicional)\r\nZona horaria:                              (UTC+01:00) Bruselas, Copenhague, Madrid, Par\xa1s\r\nCantidad total de memoria f\xa1sica:          16.198 MB\r\nMemoria f\xa1sica disponible:                 4.145 MB\r\nMemoria virtual: tama\xa4o m\xa0ximo:            22.563 MB\r\nMemoria virtual: disponible:               3.330 MB\r\nMemoria virt
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-16 16:06:40

我只需对转义序列执行一个`str_replace,然后使用多种方法之一逐行迭代事物。这里有一个:

代码语言:javascript
复制
// Normalize
$data = str_replace('\r\n', PHP_EOL, $data);

// Allows for line-by-line
$fp = fopen("php://memory", 'r+');
fputs($fp, $data);
rewind($fp);
while($line = fgets($fp)){
    echo $line;
}
fclose($fp);

这里的演示:https://3v4l.org/S9XF7

不幸的是,您的数据有一些额外的转义,您需要解释,但我认为这在一个专门的问题中可能更好。

票数 1
EN

Stack Overflow用户

发布于 2022-07-16 16:22:09

如果需要关联数组,可以尝试这样做。

代码语言:javascript
复制
<?php
$data = "b'\r\nNombre de host:                            DESKTOP-5AB1DJ9\r\nNombre del sistema operativo:              Microsoft Windows 10 Pro\r\nVersi\xa2n del sistema operativo:     
    10.0.19044 N/D Compilaci\xa2n 19044\r\nFabricante del sistema operativo:          Microsoft Corporation\r\nConfiguraci\xa2n del sistema operativo:       Estaci\xa2n de trabajo independiente\r\nTipo de compilaci\xa2n del sistema operativo: Multiprocessor Free\r\nPropiedad de:                              Usuario\r\nOrganizaci\xa2n registrada:   
            \r\nId. del producto:                          00330-80000-00000-AA120\r\nFecha de instalaci\xa2n original:             27/09/2020, 8:19:08\r\nTiempo de arranque del sistema:            11/07/2022, 15:54:10\r\nFabricante del sistema:                    ASUSTeK COMPUTER INC.\r\nModelo el sistema:                         ZenBook UX533FD_UX533FD\r\nTipo de sistema:                           x64-based PC\r\nProcesador(es):                            1 Procesadores instalados.\r\n
    [01]: Intel64 Family 6 Model 142 Stepping 12 GenuineIntel ~1792 Mhz\r\nVersi\xa2n del BIOS:                          American Megatrends Inc. UX533FD.306, 16/10/2019\r\nDirectorio de Windows:                     C:\\Windows\r\nDirectorio de sistema:                     C:\\Windows\\system32\r\nDispositivo de arranque:                   \\Device\\HarddiskVolume1\r\nConfiguraci\xa2n regional del sistema:        es;Espa\xa4ol (internacional)\r\nIdioma de entrada:                         es;Espa\xa4ol (tradicional)\r\nZona horaria:                              (UTC+01:00) Bruselas, Copenhague, Madrid, Par\xa1s\r\nCantidad total de memoria f\xa1sica:          16.198 MB\r\nMemoria f\xa1sica disponible:                 4.145 MB\r\nMemoria virtual: tama\xa4o m\xa0ximo:            22.563 MB\r\nMemoria virtual: disponible:               3.330 MB\r\nMemoria virt";
    


$data = str_replace("b'", '', $data);
$data = explode("\r\n", $data);

$informacion = [];
foreach($data as $dato){
    $dato = explode(":", $dato);
    $informacion[$dato[0]] = $dato[1];
}


print_r($informacion);

测试它:https://3v4l.org/ZWBHi

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73005636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档