Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Wieder etwas für die RegEx Profis! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Wieder etwas für die RegEx Profis!


 
cYaONE
05-09-2003, 16:56 
 
Servus,

ich habe hier etwas für die RegEx Profis:

Wie kann ich herausfinden was im folgenden Text ein String ist?

print 'abc';

Das hier würde gehen: \'(.*?)\'

Aber nicht bei: print 'abc \' sdf';

Was kann man da machen?

Danke schonmal!

 
Moqui
05-09-2003, 16:59 
 
$res = preg_replace("/[\'|\"](.*)[\'|\"]/", "\\1", $text);


probbiers mal...

und pass auf...das Forum verschluckt schon wieder bei ' die Escape-Sequenzen

habs probiert tut nicht...

warte mal ich kuck mal bissle rum..

 
cYaONE
05-09-2003, 17:08 
 
Vielen Dank, Moqui!

Aber bei

print 'abc';
print 'abc \' abc';

zeigt er mir

'abc';
print 'abc \' abc'

an ... :(

Doch noch nicht ganz das, was ich wollte ...

 
Moqui
05-09-2003, 17:11 
 
so tuts

$text = "print 'hallo'";

preg_match_all("/([\'|\"])(.*)([\'|\"])/", $text, $out);

echo $out[2][0];


gib auf die Escape-Sequenzen acht!

oder wenn du sicher gehen willst und der String immer ' oder " als letztes Zeichen hat, dann mach


$text = "print 'hallo'";

preg_match_all("/([\'|\"])(.*)([\'|\"])$/", $text, $out);

echo $out[2][0];

 
TobiaZ
05-09-2003, 20:39 
 
http://www.php-resource.de/tutorials/read/10/1/

 
Pakal
05-09-2003, 22:36 
 
Original geschrieben von TobiaZ
http://www.php-resource.de/tutorials/read/10/1/

ich habe mir das tutorial gerade mal angesehen, weil ich sowieso mich gerade mit dem thema befasse.

mal eine frage: wenn in einem string keine zahl stehen soll, wie macht man das?

was muss um das [^0-9] herum?

wenn ich weiß, wie lang der string ist, weiß ich es, aber sonst komme ich nicht drauf. das macht mich gerade verrückt :mad:

 
TobiaZ
05-09-2003, 23:42 
 
Versuch mal /^[^0-9]$/

 
Pakal
06-09-2003, 14:34 
 
Original geschrieben von TobiaZ
Versuch mal /^[^0-9]$/

hatte ich schon. allerdings geht es nur für ein Zeichen oder mache ich etwas falsch?

$msg = "abcd";

if (preg_match('/^[^0-9]$/',$msg)) {
echo "Okay";
} else {
echo "falsch";
}



hier kommt beim testen falsch...

 
TobiaZ
06-09-2003, 14:44 
 
dann den quantifier +. steht aber im tutorial!

 
mrhappiness
06-09-2003, 15:57 
 
Original geschrieben von Pakal
wenn in einem string keine zahl stehen soll, wie macht man das?indem du schaust ob eine zahl drin vorkommt?if (preg_match('%[0-9]%',$text))
echo 'Nich mit mir';


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