PHP preg_replace第一个单词(包括特殊字符)

时间:2012-10-05 12:20:28

标签: php preg-replace

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

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

由于

4 个答案:

答案 0 :(得分:4)

您可以使用以下内容:

list($a,$b) = explode(" ",$input,2);
$out = "<span>".$a."</span> ".$b;

答案 1 :(得分: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)

答案 2 :(得分: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}查找一个或两个整数,后跟-,后跟另一个或两个整数,后跟-,后跟4个整数,匹配“1-1-2012”和“05-10-2012”。然后它将匹配替换为<span>$0</span>,其中$ 0将替换为找到的日期。

答案 3 :(得分:-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);