2012-04-10 9 views
0

Wir konvertieren unseren Blog nur, um unseren Seitenstil anzupassen.php/styling/of date issue

Das Datum der POST (für einen Blog-Post ist)

<?php echo date($OptionsVis["date_format"],strtotime($Post["publish_date"])); ?> 

Welche gibt: 8. Januar

Aber ich möchte das Datum wie folgt darstellen:

 <div class="post-list-date"> 
      <h1>08</h1> 
      <h2>JAN</h2> 
     </div> 

Can Du denkst an einen Weg, wie ich meinen PHP teilen kann, um zu bekommen, wonach ich suche. Ohne mit meinem gesamten Blog-System herumzuspielen.

Antwort

1

Ich würde vorschlagen, zwei $OptionsVis Werte (date_format_main, date_format_sub). Dann tun zwei separate date() Anrufe, eine für in <h1> und eine andere für in <h2> wie so:

$date_h1 = date($OptionsVis["date_format_main"], strtotime($Post["publish_date"])); 
$date_h2 = date($OptionsVis["date_format_sub"], strtotime($Post["publish_date"])); 

Wenn dies nicht möglich ist, und Sie wissen das Datumsformat immer die gleiche sein wird, könnten Sie tun:

$date = date($OptionsVis["date_format"], strtotime($Post["publish_date"])); 
list($date_h1, $date_h2) = explode(" ", $date, 2); 
+0

Perfekte Dankeschön – 422

1

einfach nachbearbeiten die Ausgabe:

<?php 
    $date = date(... existing code...); 
    list($d, $m) = explode(' ', $date); 
?> 
<div class="post-list-date"> 
    <h1><?php echo $d; ?></h1> 
    <h2><?php echo $m; ?></h2> 
</div> 
+1

Dies ist was ich tippte, aber ich habe '2' als dritten Parameter von explode, nur für den Fall. – animuson

0

Obwohl die Semantik Ihrer HTML etwas ungewöhnlich ist (h-Tags sind in der Regel für Textüberschriften reserviert, die auf den Inhalt beziehen), würde ich so etwas wie das folgende versuchen:

$date_array = explode(" ", date($OptionsVis["date_format"],strtotime($Post["publish_date"]))); 

$date_html = "<div class=\"post-list-date\"><h1>".$date_array[0]."</h1><h2>".$date_array[1]."</h2></div>"; 

echo $date_html; 

Hoffe das hilft, fröhliche Codierung.