SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.11.2003, 15:02:01
Limbi Limbi ist offline
Junior Member
 
Registriert seit: May 2002
Beiträge: 158
String nach Zeichen durchsuchen

hallo Leute

Ich habe ein String und ein Array: $strint= "my_ö_testfile.txt"

$arr = array("ö","ä","ü");

Nun möchte ich den String nach arrays durchsuchen lassen.
Mit strpos habe ich irgendwie Probleme...

Was benötige ich da für ein Befehl?

Danke!!

Geändert von Limbi (09.11.2003 um 15:20:39 Uhr)
Mit Zitat antworten
  #2  
Alt 09.11.2003, 15:07:34
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
Re: String nach Zeichen durchsuchen

Zitat:
Original geschrieben von Limbi
...
Nun möchte ich den String nach arrays durchsuchen lassen.
...
Bist du dir sicher das du das meinst?
__________________

the best way to be ready for the future is to invent it
Mit Zitat antworten
  #3  
Alt 09.11.2003, 15:10:04
Limbi Limbi ist offline
Junior Member
 
Registriert seit: May 2002
Beiträge: 158
???

Ich habe ein string: $string = "Hallö";
Ich habe ein Array: $array = array("ö","ä","ü");

Er soll überprüfen, ob die Datei ö,ä,ü im Namen beinhaltet.

Alles klaar? ;)

Geändert von Limbi (09.11.2003 um 15:21:04 Uhr)
Mit Zitat antworten
  #4  
Alt 09.11.2003, 15:31:30
Limbi Limbi ist offline
Junior Member
 
Registriert seit: May 2002
Beiträge: 158
Es hat sich erledigt!

Mir ist gerade eine Idee in den Sinn gekommen!
Ich werde es so lösen:

PHP-Code:
<?
$string = "dies_ist_eine_datei_die_ein_ö_beinhaltet.php";
$checkascii = array('ä','ö','ü','?','"','/',':','*','<','>','|');
$bloedes_zeichen_vorhanden = false;

for($z = 0; $z < count($checkascii); $z++)
 {
  $expl_ascii = explode($checkascii[$z],$string);
  if($expl_ascii[1] != "")
  {
   $bloedes_zeichen_vorhanden = true;
  }
}
?>
Danke euch trotzdem!
Mit Zitat antworten
  #5  
Alt 09.11.2003, 16:12:51
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
--> http://php.net/in_array
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #6  
Alt 09.11.2003, 17:39:34
sourcecode sourcecode ist offline
Junior Member
 
Registriert seit: May 2003
Beiträge: 287
@c4: Limbi will nicht wissen, ob eine Zeichenkette in einem Array vorkommt, sondern ob sie in einem String vorkommt.

@Limbi: Das Skript ist scheiße (explode ist bei dem, was du willst, überflüssg, es sei denn, du willst noch mehr, was du hier nicht erwähnt hast).
Es gibt keine vordefinierte Funktion zum prüfen, OB eine Zeichenkette innerhalb einer anderen vorkommt, aber man kann sie zählen, und wenn 0 rauskommt, taucht diese Zeichenkette nicht auf. Schau am Besten mal auf meiner Homepage dir die PHP-Funktionen an, insbesondere die String-Funktionen und dort insbesondere string_is_guilty()
Mit Zitat antworten
  #7  
Alt 09.11.2003, 20:15:07
Fuchs Fuchs ist offline
Junior Member
 
Registriert seit: Jul 2003
Beiträge: 182
Immer wieder der gleiche und dumme Fehler!
Du darfst niemals ueberpruefen ob ein unerlaubtes Zeichen in einem String vorkommt sondern du ueberpruefen ob nur erlaubt Zeichen im String vorkommen. (hoert sich wirr an, gibt aber Sinn!)

Also du weist schon das es 256 verschiedene Zeichen im ASCII gibt. Die paar die du da ausschliesst kann jeder trottel umgehen. z.B.: ALT+169: ®

Also du gibts jetzt explizit an welche Zeichen erlaubt sind und nicht anders!

if (preg_match('#[a-z]#i', $filename))
else alles_scheisse()

Andre
Mit Zitat antworten
  #8  
Alt 09.11.2003, 22:42:41
sourcecode sourcecode ist offline
Junior Member
 
Registriert seit: May 2003
Beiträge: 287
Wenn man nur ein paar ausschließen will, ist es ja wohl weniger aufwendig, nach diesen zu suchen, und umgehen kann man das nicht, weil der string als ungültig erkannt wird, wenn er ungültige zeichen(ketten) enthält.
Mit Zitat antworten
  #9  
Alt 10.11.2003, 18:46:42
Fuchs Fuchs ist offline
Junior Member
 
Registriert seit: Jul 2003
Beiträge: 182
Zitat:
Original geschrieben von sourcecode
Wenn man nur ein paar ausschließen will, ist es ja wohl weniger aufwendig, nach diesen zu suchen
Weniger aufwendig ist es wenn man gleich von Anfang an explizit angibt was genau erlaubt ist und sich dann keine Sorgen mehr zu machen braucht. Weniger Aufwand ist's auch wenn ich nicht irgendwann (weil die User eben doch irgendein Zeichen geschickt haben dass du nicht ausgeschlossen hast) alle Datenbank Eintraege und Filenamen etc. manuell aendern muss.

hoffnungslos, Andre
Mit Zitat antworten
  #10  
Alt 10.11.2003, 21:15:27
sourcecode sourcecode ist offline
Junior Member
 
Registriert seit: May 2003
Beiträge: 287
Immer wieder der gleiche und dumme Fehler!
Du darfst niemals preg_match verwenden, wenn du nach FESTEN Zeichen(ketten) suchst. preg_match ist dafür gedacht, wenn du nach bestimmten Mustern suchst, wo jedes einzelne Zeichen einer (langen) Zeichenkette innerhalb eines bestimmten Bereichs liegen kann. Eine einfache Zeichensuche verbraucht nun mal weniger Resourcen als preg_match.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:13:02 Uhr.


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


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt