problema con cadenas
tengo el siguiente problema y espero que alguien pueda ayudarme.
estoy trabajando con un script de inventarios de pc, y
desde un formulario recibo la siguiente informacion:
software^^^TightVNC 1.2.9^^^1.2.9^^^^^^\'C:Archivos de programaTightVNCunins000.exe\'^^^^^^Constantin Kaplinsky^^^^^^^^^http://www.tightvnc.com^^^
software^^^WinRAR archiver^^^^^^^^^C:Archivos de programaWinRARuninstall.exe^^^^^^^^^^^^^^^^^^
software^^^Macromedia Dreamweaver MX 2004^^^7.0.1^^^C:Archivos de programaMacromediaDreamweaver MX 2004^^^RunDll32 C:ARCHIV~1ARCHIV~1INSTAL~1engine6INTEL3~1Ctor.dll,LaunchSetup \'C:Archivos de programaInstallShield Installation Information{05BB2EC5-6BEF-4DDC-9E75-BEE7B161157A}Setup.exe\' -l0xa mmUninstall^^^^^^Macromedia^^^C:Archivos de programaMacromedia^^^^^^http://www.macromedia.com/go/dreamweaver_es/^^^
software^^^MySQL Connector/ODBC 3.51^^^3.51.12^^^^^^MsiExec.exe /I{0CB3C535-1171-4A20-B549-E2CB5DEB9723}^^^20060404^^^MySQL AB^^^C:DOCUME~1ADMINI~1CONFIG~1Temp ^^^^^^http://www.mysql.com^^^
estas lineas corresponden al software instalado (son muchas mas, pero pongo solo un par para no alargar sin sentido)
yo necesito extraer el nombre del software y la version solamente, y convertir cada uno en una variable para manipularlo y luego insertarlo en una DB.
y aca es donde estoy trabado:
<?
$input = $_POST['add'];
$input = explode("n", $input);
$uuid = $_POST["uuid"];
foreach ($input as $split) {
if (substr($split, 0, 8) == "software"){ insert_software($split); }
}
function insert_software ($split) {
$extended = explode('^^^',$split);
$software_name = trim($extended[1]);
$software_version = trim($extended[2]);
}
?>
y mi problema radica en que deseo asignarle una variable distinta a cada software
ejemplo
$soft1=$software_name ;
$soft2=???;
y no se me ocurre como
ya que si hago un insert en la DB dentro de la funcion tomando $software_name como valor, la funcion me inserta una fila nueva por cada software, cuando lo que yo quiero es compilar todo el software dentro de una sola variable y luego insertarlo en la DB en una sola fila.
espero haber sido claro, ya que es la primera vez que trabajo con cadenas y no le encuentro la vuelta..
espero que alguien pueda ayudarme mil gracias...
estoy trabajando con un script de inventarios de pc, y
desde un formulario recibo la siguiente informacion:
software^^^TightVNC 1.2.9^^^1.2.9^^^^^^\'C:Archivos de programaTightVNCunins000.exe\'^^^^^^Constantin Kaplinsky^^^^^^^^^http://www.tightvnc.com^^^
software^^^WinRAR archiver^^^^^^^^^C:Archivos de programaWinRARuninstall.exe^^^^^^^^^^^^^^^^^^
software^^^Macromedia Dreamweaver MX 2004^^^7.0.1^^^C:Archivos de programaMacromediaDreamweaver MX 2004^^^RunDll32 C:ARCHIV~1ARCHIV~1INSTAL~1engine6INTEL3~1Ctor.dll,LaunchSetup \'C:Archivos de programaInstallShield Installation Information{05BB2EC5-6BEF-4DDC-9E75-BEE7B161157A}Setup.exe\' -l0xa mmUninstall^^^^^^Macromedia^^^C:Archivos de programaMacromedia^^^^^^http://www.macromedia.com/go/dreamweaver_es/^^^
software^^^MySQL Connector/ODBC 3.51^^^3.51.12^^^^^^MsiExec.exe /I{0CB3C535-1171-4A20-B549-E2CB5DEB9723}^^^20060404^^^MySQL AB^^^C:DOCUME~1ADMINI~1CONFIG~1Temp ^^^^^^http://www.mysql.com^^^
estas lineas corresponden al software instalado (son muchas mas, pero pongo solo un par para no alargar sin sentido)
yo necesito extraer el nombre del software y la version solamente, y convertir cada uno en una variable para manipularlo y luego insertarlo en una DB.
y aca es donde estoy trabado:
<?
$input = $_POST['add'];
$input = explode("n", $input);
$uuid = $_POST["uuid"];
foreach ($input as $split) {
if (substr($split, 0, 8) == "software"){ insert_software($split); }
}
function insert_software ($split) {
$extended = explode('^^^',$split);
$software_name = trim($extended[1]);
$software_version = trim($extended[2]);
}
?>
y mi problema radica en que deseo asignarle una variable distinta a cada software
ejemplo
$soft1=$software_name ;
$soft2=???;
y no se me ocurre como
ya que si hago un insert en la DB dentro de la funcion tomando $software_name como valor, la funcion me inserta una fila nueva por cada software, cuando lo que yo quiero es compilar todo el software dentro de una sola variable y luego insertarlo en la DB en una sola fila.
espero haber sido claro, ya que es la primera vez que trabajo con cadenas y no le encuentro la vuelta..
espero que alguien pueda ayudarme mil gracias...
