我想删除第一个“ - ”之前的所有内容以及“ - ”之后的所有内容,因此我将在下面留下“2011年12月25日”(日期是动态的,所以它始终不会是2011年12月25日)。我首先需要一个Javascript变量:
这是html:
<p class="review-rating">
By oakbarrels
- Dec 25, 2011
-
Something.com
</p>
这是我要删除“2011年12月25日”的javascript变量:
var thedate = $(this).find('.review-rating').html();
对于变量中的“Dec 25,2011”,我现在想用pHp strtotime
将其格式化为“12/25/2011”。
答案 0 :(得分:1)
要使用Javascript获取日期字符串,您可以在jQuery中执行以下操作:
$('.review-rating').text().match(/\-\s([^\n]+)/)[1].trim();
你可以在这里看到一个jsFiddle:http://jsfiddle.net/w2HvA/
将此日期字符串传递给PHP后,您可以使用以下内容对其进行格式化。
echo date("d/n/Y", strtotime($theDateString));
答案 1 :(得分:0)
你可以做一个简单的爆炸开始,所以像这样:
$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);
你将需要清理它并确保它有效,但这应该给你一般的想法。
我希望这会有所帮助。
答案 2 :(得分:0)
试试这个代码段:
<?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])