-1

私が読んだ RSS フィードが最近更新され、かなりの数のエラーが発生しました。ほとんどの問題を修正しましたが、これはわかりません。

以前の日付の形式:

<div>
    <div>
        <div>
            13 </div>
    </div>
</div>
<div>
    <div>
        <div>
            July </div>
    </div>
</div>
<div>
    <div>
        <div>
            2012 </div>
    </div>
</div>

現在の様子:

<div>
    <div>
        <div>13th July, 2012</div>
    </div>
</div>

そう:

  1. 日月と年は、独自の DIV で区切る必要があります (最も難しい)
  2. 「th」と「,」を削除する必要があります (これは str_replace で簡単です)

問題は、これを jQuery で数分で実行できることですが、保存する前にPHP で実行する必要があり、div にはクラス/ID がないため、さらに困難です。

4

2 に答える 2

4

strip_tagsPHP で使用して日付を取得し、使用strtotimeして日付を正規化できます。

その後、必要な HTML を生成できます。

編集:ここにあなたの解決策があります:

<?php
//at this point, $string = the input you wish to modify
$string = "
<div>
    <div>
        <div>13th July, 2012</div>
    </div>
</div>
";

//get normalised time
$time = strtotime(trim(strip_tags($string)));

//with normalised time, generate your new output
echo "
<div>
    <div>
        <div>
            ".date("d",$time)." </div>
    </div>
</div>
<div>
    <div>
        <div>
            ".date("F",$time)." </div>
    </div>
</div>
<div>
    <div>
        <div>
            ".date("Y", $time)." </div>
    </div>
</div>
";
?>
于 2012-11-19T13:56:55.973 に答える
0

実際のコードを書かなくても、解決策は次のようになります。

  • DOM パーサーを使用して、必要な情報 (日付のdiv内容) を取得します。
  • explodeスペース文字;
  • (int)rtrimコンマを取り除く最初の数字と月。

または、はるかに優れた@Darrrrrrenのソリューションを使用してください...

于 2012-11-19T13:55:39.783 に答える