Как я могу конвертировать:ereg_replace конверсии preg_replace
ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", " ", $data);
в
preg_replace("......", " ", $data);
Как я могу конвертировать:ereg_replace конверсии preg_replace
ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", " ", $data);
в
preg_replace("......", " ", $data);
Все, что есть в регулярном выражении оказывается справедливым для регулярного выражения Perl. Разница заключается в том, что регулярные выражения perl ожидают ограничивающие символы (определенные первым символом) и необязательные флаги после второго ограничивающего символа (который я проигнорирую, см. Страницу PHP для preg_match для их использования).
Иными словами, матч ereg от ^\d$
становится /^\d$/
, где /
- ограничительный знак. Если вы начинаете с другого символа, это становится ограничивающим символом. Это полезно, как и в вашем случае, когда обычный ограничивающий знак /
используется в основном выражении, и вы не хотите его избегать. Например, /^\d$/
и |^\d$|
эквивалентны.
В данном конкретном случае, вы можете использовать это в качестве preg_replace:
preg_replace("|[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]|", " ", $data);
Большое спасибо! Я не считал, что это может быть так просто ... – FidoBoy
возможно дубликат [Преобразование Ерегло выражения PREG] (http://stackoverflow.com/questions/6270004/converting-ereg- выражения-to-preg) – mario