0

我有一个字符串,看起来像这样 "1-1-2012 Something, Something"

我如何包装日期部分,以便结果最终为<span>1-1-2012</span> Something, Something

谢谢

4

4 回答 4

4

你可以使用这样的东西:

list($a,$b) = explode(" ",$input,2);
$out = "<span>".$a."</span> ".$b;
于 2012-10-05T12:21:57.080 回答
1

你可以试试

$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)
于 2012-10-05T12:26:12.743 回答
1
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}查找一个或两个整数,后跟-,然后是另外一个或两个整数,然后是 a -,然后是 4 个整数,它们同时匹配“1-1-2012”和“05-10-2012”。然后它将匹配替换为<span>$0</span>,其中 $0 将替换为找到的日期。

于 2012-10-05T12:27:02.587 回答
-1

检查这个:

$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);
于 2012-10-05T12:23:38.737 回答