php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.09.2004, 13:07  
Gast
 
Beiträge: n/a
Standard reguläre ausdrücke: string durchsuchen

ich will einen variablen string zb nach der zahl "2" durchsuchen.
dann findet er ja in 23 und in 2 ein match!
das soll aber nicht passieren! wie filtere ich ergebnisse wie 23 oder 52 raus?
eigentlich würde es schon reichen wenn ich sagen kann das nach der "2" keine zahl mehr kommen darf!
hab leider keine ahnung!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.09.2004, 13:11  
Gast
 
Beiträge: n/a
Standard

Ähm ...

1. strtok(["zeichenkette",]"zeichen")


gibt die Zeichenkette bis zum zeichen aus ... bzw dann strlen ...
und beide zeichenketten vergleichen ...

2. wofür denn evtl. gibt es eine bessere möglichkeit zudem check ich auch ned ganz

cu
 
Alt 17.09.2004, 13:17  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du suchst also nach " 2 " inkl. leerstellen, oder?
http://de3.php.net/manual/de/ref.strings.php

viel spaß beim lernen
imported_Ben ist offline  
Alt 17.09.2004, 13:24  
Gast
 
Beiträge: n/a
Standard

bisher hab ichs folgermaßen probiert:

PHP-Code:
(strpos($template->_tpldata['.'][0]['NAV_CAT_DESC'],"c="$cat)); 
in $cat steht zb die zahl 2
dumm ist nur das wenn in dem link (der string ist ein link) c=23 steht!
dann findet er ja auch c=2! das darf er aber nicht!
 
Alt 17.09.2004, 13:43  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Ich würde das mit diesem Pattern machen:
Code:
[^\d]?2{1}[^\d]?
"Matcht" alle 2er, vor denen keine Zahl steht und denen auch keine Zahl folgt.

mfG
werbegeschenk
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 17.09.2004, 13:45  
Gast
 
Beiträge: n/a
Standard

sehr geil!
das suchte ich!
kannste mir die syntax wohl n bisl erklären dann kann ichs auch vllt mal ein wenig anpassen *G*

ergämzung:

er soll eigentlich nach "c=.$cat" suchen und "c=.$cat.5" nicht finden!!!
(anführungszeichen weglassen und punkte naütrlich auch )
 
Alt 17.09.2004, 13:53  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Kasi099
kannste mir die syntax wohl n bisl erklären dann kann ichs auch vllt mal ein wenig anpassen *G*
Ja, aber nur weil ich so ein ganz nettes Kerlchen bin

Kurz und bündig:
Code:
[^\d]?2{1}[^\d]?
\d steht für decimal - also Zahlen.
Ein ^ innerhalb von eckigen Klammern negiert - heißt also: darf nicht vorkommen.
Ein Fragezeichen bedeutet 0 oder 1 Zeichen.
Was eine 2 bedeutet weißt du hoffentlich
Die Zahl in den geschwungenen Klammen, gibt an wie oft das Zeichen vorhanden sein muss/darf.

Es gibt zu Regular Expressions auch ein imho sehr schönes Tutorial auf php-builder.com. Falls du also englisch kannst, kann ich dir das nur empfehlen:
http://www.phpbuilder.com/columns/da...16.php3?aid=46

mfG
werbegeschenk
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 17.09.2004, 15:56  
Gast
 
Beiträge: n/a
Standard

ich habs jetz erst mal so probiert:

PHP-Code:
$feature_in_cat = (strstr ($template->_tpldata['.'][0]['NAV_CAT_DESC'], $cat)); 
aber leider wird hier kein wert in die variable gespeichert!
das liegt nicht daran dass es nicht möglich wäre eine übereinstimmung zu finden! es gibt eine aber irgendwie geht er darüber hinweg!
 
Alt 20.09.2004, 09:46  
Gast
 
Beiträge: n/a
Standard

hab den reg expr. mal ausprobiert und muß leider sagen dass er net funzt

PHP-Code:
if ($test=preg_match("/[^\d]?c=2{1}[^\d]?/""abc=256"$matches)) {
    echo 
"A match was found.";
} else {
    echo 
"A match was not found.";
}
print_r($matches);
echo 
$test
Zitat:
A match was found.
Array ( [0] => bc=2 )
1
nur so für die suchfunktion usw
werd selber mal suchen und dann posten fall sich was finde ....

und hier die lösung:

PHP-Code:
$cat=2;
if (
$test=preg_match("/(c=".$cat."(?![0-9]))/i""abc=25"$matches)) {
    echo 
"A match was found.";
} else {
    echo 
"A match was not found.";
}
print_r($matches);
echo 
$test
Zitat:
A match was not found.
Array ( )
0
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] stdClassObjekt nach String durchsuchen TAZweb PHP Tipps 2008 6 21.07.2008 08:38
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String durchsuchen und ersetzen unabhängig von Groß / KLein PHP Tipps 2006 2 09.07.2006 23:29
String durchsuchen - Spam Problem mit Gästebuch havok PHP Tipps 2006 23 15.03.2006 18:44
String nach bestimmten Zeichen durchsuchen PHP Tipps 2006 11 03.02.2006 11:51
string splitten und nach bestimmten wörtern durchsuchen PHP Tipps 2005-2 5 11.09.2005 13:05
Alle Felder nach String durchsuchen Jacks Rache Datenbanken 6 08.08.2005 09:46
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
array nach bestimmten string durchsuchen und element löschen PHP Tipps 2005-2 4 21.07.2005 19:51
[Erledigt] String nach best. Zeichen durchsuchen PHP-Fortgeschrittene 10 19.07.2005 19:21
String durchsuchen und Zeichenkette ersetzen PHP Tipps 2005-2 2 10.07.2005 22:48
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
string durchsuchen Sclot PHP Tipps 2005 6 23.01.2005 17:08
String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
bekomme string nicht in mysql-tabelle PHP Tipps 2004 6 26.07.2004 11:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php reguläre ausdrücke string suchen, reguläre ausdrücke string suchen, php reguläre ausdrücke wort finden, php mit regulären ausdrücken string durchsuchen, php string nach link durchsuchen, reguläre ausdrücke php string nach 2 zeichen absuchen, php string nach regulären ausdrücken durchsuchen, regex \bis zum zeichen\, string durchsuchen in c

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.