我有一个字符串,看起来像这样 "1-1-2012 Something, Something"
我如何包装日期部分,以便结果最终为<span>1-1-2012</span> Something, Something
谢谢
我有一个字符串,看起来像这样 "1-1-2012 Something, Something"
我如何包装日期部分,以便结果最终为<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}
查找一个或两个整数,后跟-
,然后是另外一个或两个整数,然后是 a -
,然后是 4 个整数,它们同时匹配“1-1-2012”和“05-10-2012”。然后它将匹配替换为<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);