You are almost there. You are using:
$result = preg_replace("((d+))", "$0", $string);
- The regex you specify as the 1st
argument to
preg_*
family of function
should be delimited in pair of
delimiters. Since you are not using
any delimiters you get that error.
(
and )
are meta char in a regex,
meaning they have special meaning.
Since you want to match literal open
parenthesis and close parenthesis,
you need to escape them using a
.
Anything following
is treated
literally.
- You can capturing the integer
correctly using
d+
. But the captured
integer will be in $1
and not $0
. $0
will have the entire match, that is
integer within parenthesis.
If you do all the above changes you'll get:
$result = preg_replace("#((d+))#", "$1", $string);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…