• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gewisse Zeichenanzahl nach ein paar Zeichen ausgeben

Status
Für weitere Antworten geschlossen.

Asterixus

Aktives Mitglied
Hallo,

ich habe mal wieder ein Problem.

datei.php
PHP:
<?php
$string = "{1|2008-01-01 01:01:01}{5|2008-05-07 12:34:56}";
/* Das ist ein bisschen wie ein Array, nur kann ich kein Array machen, weil es in ein Cookie so gespeichert wird.
###################################"#######
Die Zahl vor dem | ist ein User-ID und das Datum im SQL-Format ist ein Timeout sozusagen, der aber nicht so wichtig ist, soll nur idiotensicher sein.*/
?>
Wie mache ich Anhand der User-ID das Datum, welches dazugehört (also nach dem "|" ausfindig?

Mit anderen Worten:
Wie bekomme ich das Datum in einen String. Es kann aber nur ein Datum gefragt werden, von daher genügt es, dass das Datum in einen String gesetzt wird und nicht jedes Datum in ein Array.

lG,
Asterixus (Vincent)
 
Werbung:
Du suchst mit strpos nach dem | und gibst dann mit substr die Zeichenkette danach aus die die um die Länge begrenzt die die Länge des Datums betrifft.

PHP:
<?PHP 

$string = '{1|2008-01-01 01:01:01}{5|2008-05-07 12:34:56}';

$string2 = substr ($string,(strpos( $string,'|') + 1),10);

?>
 
Hallo,

vielen Dank, es war genau das, was ich gesucht habe. Ich habe im Manual aber String Position eingegeben und der hat mir das nicht gezeigt Oo

Mit freundlichen Grüßen,
Asterixus
 
Werbung:
PHP:
<?php

$string = '{1|2008-01-01 01:01:01}{5|2008-05-07 12:34:56}';
$string = trim($string, '{}');
$string = explode('}{', $string);

$liste = array();

foreach($string as $cont)
{
    $buf = explode('|', $cont);
    $liste[(int)$buf[0]] = $buf[1];
}

// nu kannst du die IDs abfragen
// hier will ich z.b. die 5 haben
if(array_key_exists(5, $liste))
{
    echo $liste[5]; // hier wird dann das datum mit der ID 5 ausgegeben, fals es existiert ^^
}

?>

das ganze währe aber mit mysql wesentlich leichter ;)
 
PHP:
<?php

$string = '{1|2008-01-01 01:01:01}{5|2008-05-07 12:34:56}';
$string = trim($string, '{}');
$string = explode('}{', $string);

$liste = array();

foreach($string as $cont)
{
    $buf = explode('|', $cont);
    $liste[(int)$buf[0]] = $buf[1];
}

// nu kannst du die IDs abfragen
// hier will ich z.b. die 5 haben
if(array_key_exists(5, $liste))
{
    echo $liste[5]; // hier wird dann das datum mit der ID 5 ausgegeben, fals es existiert ^^
}

?>
das ganze währe aber mit mysql wesentlich leichter ;)
Ja, mit MySQL ist es auch schon gemacht. Ich wollte nur eine "doppelte" Sicherheit.

Danke!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben