PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Brauch hilfe beim Wort auslesen! (http://www.selfphp.de/forum/showthread.php?t=10363)

Malle666 27.04.2005 18:17:35

Brauch hilfe beim Wort auslesen!
 
Ich will aus einer TXT ein wort aus einer Zeile suche und wenn das WORT z.b. in Zeile 3 befindet, dass er die ganze zeile z.b. löscht oder ganz nach oben in der TXT verschiebt ?

Mein größtes Prob ist nur das WORT suchen zu lassen ?!

Serp 27.04.2005 20:24:58

AW: Brauch hilfe beim Wort auslesen!
 
Um ein Wort suchen zu lassen kannst du einfach

PHP-Code:

if(strpos('text''wort') !== false) echo 'Wort ist drin'

Und ja, es heißt wirklich !== und nicht !=, ansonsten würdest du ein falsches Ergebnis kriegen, wenn das gesuchte Wort ganz am Anfang im Text steht.

xabbuh 27.04.2005 21:35:23

AW: Brauch hilfe beim Wort auslesen!
 
Wenn Groß- und Kleinschreibung nicht beachtet werden soll, musst du [func]stristr()[/func] statt [func]strpos()[/func] verwenden.

|Coding 28.04.2005 01:08:03

AW: Brauch hilfe beim Wort auslesen!
 
Zitat:

Zitat von Serp
Und ja, es heißt wirklich !== und nicht !=, ansonsten würdest du ein falsches Ergebnis kriegen, wenn das gesuchte Wort ganz am Anfang im Text steht.

Zusatz Infos:

"!=" bedeutet "Nicht gleich (oder ungleich)"
"!==" bedeutet hingegen "Nicht gleich (oder ungleich)" und zu dem wird noch der Datentype (bool, int, obj, res usw. usf.) verglichen. '1' ist also nicht gleich 1.

Serp 28.04.2005 14:56:47

AW: Brauch hilfe beim Wort auslesen!
 
Zitat:

Zitat von xabbuh
Wenn Groß- und Kleinschreibung nicht beachtet werden soll, musst du [func]stristr()[/func] statt [func]strpos()[/func] verwenden.

Oder eben [func]stripos()[/func] ;)

Gibts eigentlich irgendwo ne Aufstellung über die Laufzeit der einzelnen Funktionen? Sprich wenn ich wirklich nur schauen will ob sich ne bestimmte Zeichenkette in einem Text befindet und mir die Rückgabewerte (Position, Reststring oder was auch immer) herzlich egal sind, welche Funktion ist dann die effektivste?

Malle666 28.04.2005 15:44:25

AW: Brauch hilfe beim Wort auslesen!
 
Danke, wie sach ich ihm jetzt wenn das WORT in Zeile 3 ist, dass er die ganze Zeile nach oben packen soll?

chris17 28.04.2005 17:03:56

AW: Brauch hilfe beim Wort auslesen!
 
Hi,

eine Möglichkeit
PHP-Code:

$file 'test.txt';
$such 'Wort';

$read file($file);

for (
$i 0$i count($read); $i++) {
    if (
strpos($read[$i], $such) !== false) {
        
$tmp $i;
    }
}

$tmp_arr[] = $read[$tmp];

unset(
$read[$tmp]);

$arr_neu array_merge($tmp_arr$read);

// Testausgabe
echo '<pre>';
print_r($arr_neu);
echo 
'</pre>';

// Neues Array in Datei schreiben...
// TODO
// ... 


Malle666 28.04.2005 19:07:43

AW: Brauch hilfe beim Wort auslesen!
 
wenn ich $arr_neu in die DATEI schreiben lasse, schreibt der nur "array" in die Datei? -.-

xabbuh 28.04.2005 20:16:45

AW: Brauch hilfe beim Wort auslesen!
 
Zitat:

Zitat von Serp
Oder eben [func]stripos()[/func] ;)

Achja, PHP 5 ist mir noch nicht so geläufig... :-)

Zitat:

Zitat von Serp
Gibts eigentlich irgendwo ne Aufstellung über die Laufzeit der einzelnen Funktionen? Sprich wenn ich wirklich nur schauen will ob sich ne bestimmte Zeichenkette in einem Text befindet und mir die Rückgabewerte (Position, Reststring oder was auch immer) herzlich egal sind, welche Funktion ist dann die effektivste?

Eine richtige Auflistung habe ich noch nicht gefunden, aber laut dem Manual sollte man auf strpos() zurückgreifen:
Zitat:

Note: If you only want to determine if a particular needle occurs within haystack, use the faster and less memory intensive function strpos() instead.
s.a. http://de.php.net/manual/en/function.strstr.php

Zitat:

Zitat von Malle666
wenn ich $arr_neu in die DATEI schreiben lasse, schreibt der nur "array" in die Datei? -.-

Bedenke, dass $arr_neu ein Array ist und du somit entweder das Array mit einer Schleife durchlaufen und jedes Element einzeln in der Datei speichern musst oder aber das Array mit implode() zu einer Zeichenkette zusammensetzen und dann in die Datei schreiben musst.


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:38:28 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.