我如何转换: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正则表达式期望边界字符(由第一个字符定义)和第二个边界字符后面的可选标记(我将忽略,请参阅preg_match的PHP页面以供他们使用)。
换句话说,^\d$
的ereg匹配变为,其中/
是边界字符。如果你从一个不同的角色开始,那就变成了边界角色。这很有用,正如你的情况那样,当在正则表达式中使用/
的通常边界字符并且你不想逃避它时。例如,和|^\d$|
是等效的。
在此特定情况下,可以使用这个作为一个preg_replace函数:
preg_replace("|[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]|", " ", $data);
非常感谢!我不认为这可能是如此简单...... – FidoBoy 2012-02-18 02:51:43
[转换EREG表达式来预浸](可能重复http://stackoverflow.com/questions/6270004/converting-ereg-表达式对preg) – mario 2012-02-18 01:18:23