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)
-   -   string nach zeichen durchsuchen (http://www.selfphp.de/forum/showthread.php?t=3595)

langwebdesign 10.03.2003 18:35:05

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

c4 10.03.2003 18:37:28

http://www.php.net/manual/en/function.strstr.php

Odi 11.03.2003 21:43:26

Würde
ereg(edit: "_replace" entfernt da verlesen, danke c4 ;) )vorschlagen.

http://www.php.net/manual/en/function.ereg.php

Tutor zu regulären Sprachen/Ausdrücken:
http://www.lrz-muenchen.de/services/...erlagen/regul/

c4 11.03.2003 21:44:36

Es soll nichts ersetzt werden, sonder überprüft, ob etwas vorhanden ist oder nicht.

|Coding 11.03.2003 22:58:50

strstr() achtet auf groß und kleine schreibung.

also ich würde eregi() neheme, weil es nicht auf groß und kleine schreibung achtet.

PHP-Code:

<?
if(eregi("ach fuck", $usereingabe)) print 'das böse wort ist gefallen!';
else print 'so ist es brav!';
?>


Dago 12.03.2003 01:36:16

Dann kann er auch gleich stristr() nehmen...
Schneller als ereg oder preg und außerdem einfach zu bedienen:
http://de.php.net/stristr

|Coding 12.03.2003 17:33:00

ereg finde ich in der bedienung nicht schwer :-) und raus kommt das selbe. um das wievielfache ist stristr denn schneller?

Dago 12.03.2003 18:00:09

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 ;)

|Coding 12.03.2003 18:49:58

Zitat:

Original geschrieben von Dago
Was die Bedienung angeht, stimm ich dir zu... Ich verwechsel die eregs immer wieder mit den pregs ;)
das passiert mir auch oft genug :-)


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31:35 Uhr.

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