我想去掉第一个"-"之前的所有内容和"-"之后的所有内容,所以下面只剩下"2011年12月25日"(日期是动态的,所以不会总是2011年12日25日)。我首先需要一个Javascript变量:
这是html:
<p class="review-rating">
By oakbarrels
- Dec 25, 2011
-
Something.com
</p>
以下是我想去掉的javascript变量"Dec252011":
var thedate = $(this).find('.review-rating').html();
变量中有了"Dec 252011",我现在想使用pHp strtotime
将其格式化为"12/25/2011"。
要使用Javascript获取日期字符串,可以在jQuery:中执行以下操作
$('.review-rating').text().match(/'-'s([^'n]+)/)[1].trim();
你可以在这里看到一个jsFiddle:http://jsfiddle.net/w2HvA/
一旦这个日期字符串被传递给PHP,你就可以使用下面的格式来格式化它
echo date("d/n/Y", strtotime($theDateString));
你可以做一个简单的爆炸来启动,所以像这样的东西:
$str = "Your HTML here <p class='review-rating'>....</p>";
$array = explode($str,'-');
$date = trim($array[1]);
$timestamp = strtotime($date);
$reformatedDate = date("d/n/Y",$timestamp);
你将需要清理它并确保它有效,但这应该会给你一个大致的想法。
我希望这能有所帮助。
试试这个片段:
<?php
$atr = '<p class="review-rating">
By oakbarrels
- Dec 25, 2011
-
Something.com
</p>';
preg_match('/-([^'->]+)-/mis',$atr,$m);
$dateStr = trim($m[1]);
echo date('Y-m-d',strtotime($dateStr));
使用jQuery:
var thedate = $('.review-rating').html();
alert(thedate.split('-')[1])