「1-1-2012 何か、何か」のような文字列があります。
結果が次のようになるように、日付セクションをラップするにはどうすればよいですか<span>1-1-2012</span> Something, Something
ありがとう
「1-1-2012 何か、何か」のような文字列があります。
結果が次のようになるように、日付セクションをラップするにはどうすればよいですか<span>1-1-2012</span> Something, Something
ありがとう
次のようなものを使用できます。
list($a,$b) = explode(" ",$input,2);
$out = "<span>".$a."</span> ".$b;
あなたが試すことができます
$str = "11-10-2012 Something, Something";
$str = preg_replace("/\d{1,2}-\d{1,2}-\d{4}/", '<span>$0</span>', $str);
var_dump($str);
出力
string '<span>4-10-2012</span> Something, Something' (length=43)
preg_replace( '~\d{1,2}-\d{1,2}-\d{4}~', '<span>$0</span>', '1-1-2012 Something something' );
正規表現~\d{1,2}-\d{1,2}-\d{4}
は、「1-1-2012」と「05-10-2012」の両方に一致する-
1 つまたは 2 つの整数、その後に 、別の 1 つまたは 2 つの整数、その後に 、さらに4 つの整数を検索します。-
次に、一致を<span>$0</span>
に置き換えます。$0 は見つかった日付に置き換えられます。
これをチェックして:
$str="1-1-2012 Something, Something";
$str=preg_replace('/\d-\d-\d{4}/', '<span>$0</span>', $str);
echo $str;
UPD
最初の部分が日付だったことを見逃しました:)
これは次のように使用できます。
$str=preg_replace('/(:?\d{1,2}-){2}\d{4}/', '<span>$0</span>', $str);