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 |
12.10.2005, 14:53:14
|
Anfänger
|
|
Registriert seit: Oct 2005
Beiträge: 5
|
|
Reguläre Ausdrücke
Ich möchte in einem String bestimmte Zeichen ersetzen. Und zwar versuche ich, dass "rnd,100,200" automatisch durch den Zufallswert aus der Funktion rand(100,200) ersetzt wird. Mein Ansatz sieht so aus:
echo preg_replace("rnd,/^[0-9]$/,/^[0-9]$/", rand($1,$2), $text);
Ist alles andere als gelungen. Aber ich bekomme schon den Suchteil nicht anständig hin. Vielleicht hat das ja schon mal jemand gemacht. Würde mir viel Sucharbeit und Nerven sparen.
Vielen Dank im voraus !!
sh2
|
12.10.2005, 15:19:02
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Reguläre Ausdrücke
Ein entsprechender regulärer Ausdruck könnte so aussehen:
PHP-Code:
<?php
$regex = '#rnd,(\d+),(\d+)#';
$str = preg_replace($regex, rand($1, $2), $str);
?>
|
12.10.2005, 15:37:54
|
Anfänger
|
|
Registriert seit: Oct 2005
Beiträge: 5
|
|
AW: Reguläre Ausdrücke
Danke, werde ich morgen gleich mal ausprobieren.
|
13.10.2005, 13:23:59
|
Anfänger
|
|
Registriert seit: Oct 2005
Beiträge: 5
|
|
Klappt noch nicht so richtig
Ich steh' immer noch voll aufm Schlauch ;-(
Irgendwie liegt mir das Zeug nicht so. Bin wirklich auf Hilfe angewiesen ...
In $TK_leftC (Array) steht unter anderem Zufall:1000-10000
Ersetzen kann ich das problemlos. Aber nicht durch rand(1000,10000)
$regex = '#Zufall:(\d+)-(\d+)#';
$TK_leftC = preg_replace($regex, strval(rand(\$1,\$2)), $TK_leftC);
Vielen, vielen Dank für Eure Hilfe !
sh2
|
13.10.2005, 14:44:32
|
Anfänger
|
|
Registriert seit: Oct 2005
Beiträge: 5
|
|
AW: Reguläre Ausdrücke
Ich habe das jetzt soweit hinbekommen, dass folgendes klappt:
PHP-Code:
$TK_leftC = preg_replace('#Zufall:(\d+)-(\d+)#', "rand($1,$2)", $TK_leftC);
An entsprechender Stelle steht jetzt rand(1000,10000) wenn vorher Zufall:1000-10000 enthalten war.
Ich will aber, dass das Ergebnis der rand-Funktion ausgegeben wird:
PHP-Code:
$TK_leftC = preg_replace('#Zufall:(\d+)-(\d+)#', rand($1,$2), $TK_leftC);
Das funktioniert aber nicht!
Kann mir da jemand weiter helfen??
Thanks
|
13.10.2005, 17:13:26
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Reguläre Ausdrücke
Versuch es mal, wenn du preg_replace_callback() verwendest:
PHP-Code:
<?php
function Zufall($matches)
{
return mt_rand($matches[1], $matches[2]);
}
print preg_replace_callback('#Zufall:(\d+)-(\d+)#', 'Zufall', $str);
?>
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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 19:42:01 Uhr.
|