problema con cadenas

polaco
10 de Abril del 2006
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...

djtv
10 de Abril del 2006
Con un array:

$soft[1]=$software_name.$sofware_version;
$soft[2]=$software_name.$sofware_version;

Mediante el . unes 2 cadenas

Un saludo

http://www.inmobelia.com