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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
09.11.2003, 14:02:01
|
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 14:20:39 Uhr)
|
09.11.2003, 14:07:34
|
|
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
|
09.11.2003, 14:10:04
|
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 14:21:04 Uhr)
|
09.11.2003, 14:31:30
|
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!
|
09.11.2003, 15:12:51
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
|
09.11.2003, 16:39:34
|
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()
|
09.11.2003, 19:15:07
|
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
|
09.11.2003, 21:42:41
|
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.
|
10.11.2003, 17:46:42
|
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
|
10.11.2003, 20:15:27
|
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.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Hybrid-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 03:30:11 Uhr.
|