我正在瀏覽別人的舊代碼,並有一些麻煩理解它。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