我正在浏览别人的旧代码,并有一些麻烦理解它。PHP的正则表达式和preg_replace问题
他:
explode(' ', strtolower(preg_replace('/[^a-z0-9-]+/i', ' ', preg_replace('/\&#?[a-z0-9]{2,4}\;/', ' ', preg_replace('/<[^>]+>/', ' ', $texts)))));
我认为第一个正则表达式排除a-z
和0-9
,我不知道第二个正则表达式做什么,但。第三个匹配'< >'
里面任何东西,除了'>'
结果将输出,并在$texts
变量的每一个字的阵列,但是,我只是不知道如何代码产生这样。我明白了什么preg_replace
等功能做什么,只是不知道如何处理工作
这许多嵌套的preg_replace电话仅仅是将导致混乱 – Scuzzy 2013-03-19 23:30:51
它分解成三个独立的语句,使用临时变量的处理顺序。然后它变得更容易遵循。 – mario 2013-03-19 23:31:15