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:
Der PHP-Code dazu:
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);
}