function()
Florian
- php
Hallo,
wie mache ich hier draus eine Funktion, die mir das Ergebnis als Array zurückliefert?
<?php
$handle = fopen ("test.doc", "r");
$i=0;
while (!feof($handle)) {
$i++;
$buffer = fgets($handle, 4096);
preg_match_all("/hyperlink "http://[^"]*"/i",$buffer,$matches);
//echo $buffer."<br>";
$maus=$matches[0];
foreach($maus as $value) {
$link = substr($value, 11, -1);
echo $link."<br>";
}
}
//echo "<br>"."Zähler = ".$i;
fclose ($handle);
?>
Hi,
ich nehme mal an, du möchtest Links aus Word-Dokumenten erhalten und gehe im folgenden davon aus, dass die RegExp usw. bereits wie gewünscht arbeitet.
wie mache ich hier draus eine Funktion, die mir das Ergebnis als Array zurückliefert?
function getLinks ($datei)
{
// hier am besten noch prüfen, ob die Datei überhaupt existiert und lesbar ist
// siehe dazu is_file() und is_readable()
$handle = fopen ("test.doc", "r");
$handle = fopen ($datei, "r");
trotz der Prüfung könnte fopen() false zurückgeben, was dann
$i=0;
while (!feof($handle)) {
hier zu einem Fehler führen könnte. Also besser vor der while-Schleife prüfen, ob $handle !== false ist.
$i++;
$buffer = fgets($handle, 4096);
preg_match_all("/hyperlink "http://[^"]*"/i",$buffer,$matches);
//echo $buffer."<br>";
$maus=$matches[0];
coole Variablen-Bezeichnung...
foreach($maus as $value) {
dann aber auch
foreach ($maus as $katze) {
$link = substr($value, 11, -1);
// Ergebnisse in einem Array speichern (dieses am besten am Anfang der Funktion initialisieren)
$_links[] = substr($value, 11, -1);
echo $link."<br>";
}
}//echo "<br>"."Zähler = ".$i;
fclose ($handle);
// Rückgabe
return $_links;
}
oder so ähnlich...
Aufgerufen würde sie dann mit $_links = getLinks('/pfad/zu/test.doc');
Gruß,
Andreas.