4
4

3 回答 3

10

试试这个

preg_replace('/(?<=\>)\b\w*\b|^\w*\b/', '<b>$0</b>', $string);

$0 意味着它将成为您的正则表达式中匹配的第一件事,$1 将成为第二个等等。

你也可以使用反向引用;\0 从您所在的位置获取匹配的第一件事,\1 获取匹配的第二件事等。更多信息

于 2012-05-31T12:23:06.733 回答
2

您需要在后面加上一个数字$来引用正则表达式的分组部分。这里是第一组,因此是 0。这里的工作示例:http: //codepad.org/4V7GWdja

<?php

$string = "an example";
$string = preg_replace('/(?<=\>)\b(\w*)\b|^\w*\b/', '<b>$0</b>', $string);
var_dump($string);

?>
于 2012-05-31T12:25:12.710 回答
1
$string = 'an example';
echo preg_replace('/^\b(.+?)\b/i', '<b>$1</b>', $string);

// <b>an</b> example
于 2012-05-31T12:25:18.280 回答