Variablen aus Textdatei

Also, ich hab hier eine Lösung, auf die ich aber nicht gerade stolz bin. Vllt. melden sich ja noch andere, mit einem besseren Ansatz. ;-)

Der Inhalt meiner Datei:
Code:
|BMW aa|http://www.bmw.de
|Audi|http://www.audi.de
|VW aa|http://www.volkswagen.de

Der PHP-Code dazu:
PHP:
echo "<pre>";
$strSearch = 'aa';
$strContent = file_get_contents("c:\\_reference.txt");

if( preg_match_all('/'. $strSearch .'/', $strContent, $arrResults, PREG_OFFSET_CAPTURE) )
{
	$arrPositions = array();
	foreach( $arrResults[0] as $arrResult )
	{
		array_push($arrPositions, $arrResult[1]);
	}
	unset($arrResults);
	
	$arrRows = preg_split('/(\n|\r+)/i', $strContent, -1, PREG_SPLIT_OFFSET_CAPTURE);
	$arrSearchResult = array();
	foreach( $arrPositions as $intPosition )
	{
		foreach( $arrRows as $intIdx => $arrRow )
		{
			$intStart = $arrRow[1];
			$intEnd = $intStart+strlen($arrRow[0]);
			if( $intPosition >= $intStart && $intPosition <= $intEnd )
			{
				array_push($arrSearchResult, $arrRow[0]);
				unset($arrRows[$intIdx]);
				continue 1;
			}
		}
	}
	
	var_dump($arrSearchResult);
}
 
Ja danke erst einmal aber ich habe es mit diesem Code bereits fast geschafft;

PHP:
foreach( file( "intern/systems.txt" ) as $v ) 
{
$d = explode( "|", $v );
if ( $d[0] == "$item" )

$lizenz = $d[2];
$price = $d[3];
}

Das einzigste Problem ist nur, dass er bei allem immer die letzte Zeile nimmt!? :confused:

Also wenn das $item in der 1. Zeile ist, nimmt er den $price und die $lizenz von der letzten Zeile :rolleyes:
 
Dabei hab ich es schon rot hervorgehoben ;) Du musst deine Klammern und den Body von deiner IF-Bedingung richtig setzen.

PHP:
foreach( file( "intern/systems.txt" ) as $v ) 
{
	$d = explode( "|", $v );
	if ( $d[0] == $item )
	{
		$lizenz = $d[2];
		$price = $d[3];
	}
}

Bei deinem Ansatz hast Du immer nur ein Suchergebnis, nämlich das letzt gefundene.
 
Zurück