Sha*_*awn 10 php regex pcre posix-ere
我得到以下消息,我必须使用但不写的一些PHP:
Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/webEchange/SiteWeb_V5/inc/html2fpdf.php on line 466
这是第466行:
if(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))
我试过简单地用preg_match替换,但它无法识别正则表达式中的=修饰符.我对正则表达式不太好并且解决这个问题需要我学习正则表达式ereg需要和regexp preg_match需要(其中如果我没有弄错的话,那就不同了......你们能帮我解决这个问题吗?
谢谢
POSIX扩展正则表达式(POSIX ERE,由其使用ereg)和Perl-combatible正则表达式(PCRE,由其使用preg_match)非常相似.除了一些特殊的POSIX表达式,PCRE是POSIX ERE的超集.
这意味着您只需要将POSIX ERE正则表达式放入分隔符(此处/)并转义正则表达式中该字符的任何出现,并且您有一个有效的PCRE正则表达式:
/^([^=]*)=["']?([^"']*)["']?$/
所以:
preg_match('/^([^=]*)=["\']?([^"\']*)["\']?$/', $v, $a3)