Das kommt auf die Länge des Textes und die Position des Suchwortes darin an:
PHP-Code:
<?php
function get_microtime() {
$microtime = explode(' ',microtime());
return $microtime[0] + $microtime[1];
}
$text = ' SELFPHP.info
SELFPHP Forum
SelfPHP.info > SelfPHP.info - Grundlagen > string nach zeichen durchsuchen
Zum ersten ungelesenen Beitrag gehen Vorheriges Thema Nächstes Thema
Autor Thema
langwebdesign
Member
Registriert seit: Oct 2002
Wohnort: Mittersthal
Beiträge: 61
string nach zeichen durchsuchen
hi
ich möchte eine benutzerangabe überprüfen ob darin ein bestimmters wort vorkommt
$usereingabe = "ach fuck";
z.b.: if($usereingabe enthält fuck){ dann }
mfg stephan
Diesen Beitrag einem Moderator melden | IP: Gespeichert
10-03-2003 17:35
*c*4*
Senior Member
Registriert seit: Jul 2002
Wohnort:
Beiträge: 414
[url]http://www.php.net/manual/en/function.strstr.php[/url]
__________________
Unverständlich genug?
Diesen Beitrag einem Moderator melden | IP: Gespeichert
10-03-2003 17:37
Odi
Member
Registriert seit: Apr 2002
Wohnort: Münster / NRW
Beiträge: 34
Würde
ereg(edit: "_replace" entfernt da verlesen, danke c4 ;) )vorschlagen.
[url]http://www.php.net/manual/en/function.ereg.php[/url]
Tutor zu regulären Sprachen/Ausdrücken:
[url]http://www.lrz-muenchen.de/services...terlagen/regul/[/url]
__________________
... signature failed to load...
Geändert von Odi am 11-03-2003 um 20:49
Diesen Beitrag einem Moderator melden | IP: Gespeichert
11-03-2003 20:43
*c*4*
Senior Member
Registriert seit: Jul 2002
Wohnort:
Beiträge: 414
Es soll nichts ersetzt werden, sonder überprüft, ob etwas vorhanden ist oder nicht.
__________________
Unverständlich genug?
Diesen Beitrag einem Moderator melden | IP: Gespeichert
11-03-2003 20:44
|Coding
Administrator
Registriert seit: Apr 2002
Wohnort: selfphp.info
Beiträge: 1429
strstr() achtet auf groß und kleine schreibung.
also ich würde eregi() neheme, weil es nicht auf groß und kleine schreibung achtet.
PHP:--------------------------------------------------------------------------------
<?
if(eregi("ach fuck", $usereingabe)) print 'das böse wort ist gefallen!';
else print 'so ist es brav!';
?>
--------------------------------------------------------------------------------
__________________
Greetz |Coding
nichts wird gut - alles bleibt besser!
Diesen Beitrag einem Moderator melden | IP: Gespeichert
11-03-2003 21:58
Dago
Senior Member
Registriert seit: Mar 2002
Wohnort:
Beiträge: 206
Dann kann er auch gleich stristr() nehmen...
Schneller als ereg oder preg und außerdem einfach zu bedienen:
[url]http://de.php.net/stristr[/url]
Diesen Beitrag einem Moderator melden | IP: Gespeichert
12-03-2003 00:36
|Coding
Administrator
Registriert seit: Apr 2002
Wohnort: selfphp.info
Beiträge: 1429
ereg finde ich in der bedienung nicht schwer :-) und raus kommt das selbe. um das wievielfache ist stristr denn schneller?
__________________
Greetz |Coding
nichts wird gut - alles bleibt besser!
Diesen Beitrag einem Moderator melden | IP: Gespeichert
12-03-2003 16:33
Alle Zeitangaben in WEZ. Es ist 16:45 Uhr.
Vorheriges Thema Nächstes Thema
Druckbare Version zeigen | Diese Seite per eMail verschicken | Dieses Thema abonnieren
SELFPHP.info
© 2001, 2002, 2003 Damir Enseleit, [email]mail@selfphp.info[/email] , Impressum
Powered by: vBulletin Version 2.2.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
';
$start_eregi = get_microtime();
eregi('fuck',$text);
$end_eregi = get_microtime();
$start_stristr = get_microtime();
stristr('fuck',$text);
$end_stristr = get_microtime();
echo 'Suchwort am Anfang des Textes:<br />eregi(): '.($end_eregi - $start_eregi).' Sekunden<br />stristr(): '.($end_stristr - $start_stristr).' Sekunden';
$start_eregi = get_microtime();
eregi('vBulletin',$text);
$end_eregi = get_microtime();
$start_stristr = get_microtime();
stristr('vBulletin',$text);
$end_stristr = get_microtime();
echo '<br /><br />Suchwort am Ende des Textes:<br />eregi(): '.($end_eregi - $start_eregi).' Sekunden<br />stristr(): '.($end_stristr - $start_stristr).' Sekunden';
?>
Suchst du nach einem Wort, das am Anfang des Textes steht, dann ist eregi() schneller. Suchst du aber nach einem Wort am Ende, ist stristr() schneller.
Was erstaunlich ist: stristr() benötigt für beide Suchvorgänge ziemlich genau 0,3 Mikrosekunden (zumindest auf meinem Rechner).
Was die Bedienung angeht, stimm ich dir zu... Ich verwechsel die eregs immer wieder mit den pregs ;)
|