JQuery вырезать часть динамического текста, а затем отформатировать на PHP - PullRequest
0 голосов
/ 25 февраля 2012

Я хочу вычеркнуть все до первого «-» и все после «-», поэтому у меня осталось «25 декабря 2011 года» ниже (даты динамические, поэтому всегда не будет 25 декабря 2011 года). Сначала мне нужно иметь переменную Javascript:

Вот HTML:

<p class="review-rating">
 By oakbarrels
 - Dec 25, 2011
 -
 Something.com
</p>

Вот переменная javascript, которую я хочу вырезать "25 декабря 2011 г.":

var thedate = $(this).find('.review-rating').html();

Имея переменную "25 декабря 2011" в переменной, я хотел бы теперь использовать pHp strtotime для форматирования в "25/12/2011".

Ответы [ 3 ]

1 голос
/ 25 февраля 2012

Чтобы получить строку даты с Javascript, вы можете сделать что-то вроде этого в jQuery:

$('.review-rating').text().match(/\-\s([^\n]+)/)[1].trim();

Вы можете увидеть jsFiddle этого здесь: http://jsfiddle.net/w2HvA/

Как только эта строка даты передается в PHP, вы можете использовать ее для форматирования:

echo date("d/n/Y", strtotime($theDateString));
0 голосов
/ 25 февраля 2012

Попробуйте этот фрагмент:

<?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])
0 голосов
/ 25 февраля 2012

Вы могли бы сделать простой взрыв, чтобы начать, так что-то вроде этого:

$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);

Вам нужно будет очистить его и убедиться, что он работает, но это должно дать вам общее представление.

Надеюсь, это поможет.

...