У меня есть существующий код в методе 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.
Обратите внимание, что ereg_replace
,
Эта функция УСТАРЕЛА в PHP 5.3.0 и УДАЛЕНА в PHP 7.0.0.
Если ваш PHP environemnt не поддерживает preg_replace
, используйте текущий код с \\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.
Других решений пока нет …