1

我在 PCRE 方法中有现有的代码,我想在 POSIX 中具有相同的功能。下面是我在 PCRE 中的示例代码。

<?php

$regex = "/(\d)/";
$content = "In the garden have dog,cat,23242,rabbit.";

echo preg_replace($regex,"<span style='color:green'>$1</span>",$content);
//Result:
//In the garden have dog,cat,<span style='color:green'>2</span><span style='color:green'>3</span><span style='color:green'>2</span><span style='color:green'>4</span><span style='color:green'>2</span>,rabbit.

我正在尝试在 POXIS 中做同样的事情,但无法获得相同的输出。下面是我在 POSIX 中的示例代码。

<?php

$regex = "([[:digit:]])";
$content = "In the garden have dog,cat,23242,rabbit."

echo ereg_replace($regex,"<span style='color:green'>$1</span>",$content);
//Result:
//In the garden have dog,cat,<span style='color:green'>$1</span><span style='color:green'>$1</span><span style='color:green'>$1</span><span style='color:green'>$1</span><span style='color:green'>$1</span>,rabbit.
4

1 回答 1

1

请注意ereg_replace

这个函数在 PHP 5.3.0 中被弃用,在 PHP 7.0.0 中被移除。

如果您的 PHP 环境不支持,请在替换模式中preg_replace使用当前代码 with\\1而不是。$1

$regex = "([[:digit:]]+)";
$content = "In the garden have dog,cat,23242,rabbit.";
echo ereg_replace($regex,"<span style='color:green'>\\1</span>",$content);
// => In the garden have dog,cat,<span style='color:green'>23242</span>,rabbit.
于 2017-10-05T11:05:11.293 回答