17. april 2003 - 14:44Der er
8 kommentarer og 1 løsning
Finde php kode i fil
hej
Jeg har brug for en måde ( en regular expression ) der kan læse alle forekomster af PHP kode i en fil, og gøre det muligt at lave dem om til noget andet.
Der hvor jeg selv går lidt død i det, er hvis man f.eks inde i sin kode har skrevet <? eller ?>, da det jo i bund og grund er dem man søger efter (ja, det forekommer måske, aldrig, men det kan lade sig gøre, f.eks i en streng).
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
if (preg_match_all("'<\?(php|)(.*)\?>'isU", $file_content, $regs)) { print_r($regs); }
i - caseless s - 'dotall' dvs., '.' i regex'en matcher ALT (også newlines, som den normalt ikke gør) U - ungreedy (hvis ej brugt vil den match fra første <? til sidste ?> incl. alt HTML imellem, hvis der er noget)
ja, den gør også det den skal, men som du nok kan se står der jo ?> inde i kode, og det trigger den på.
F.eks: <? echo("<? hej(\"hejsa\"); ?>"); ?>
Det der står inden i strengen der bliver skrevet ud, indeholder ?> og derfor finder man ikke hele kode-blokken, men kun en smule af den ( <? echo("<? hej(\"hejsa\"); ?> ) og det er jo ikke det der er meningen.
Det er stadig et problem i den løsning jeg selv kom frem til, men jeg ved så ikke helt hvordan det hele kan løses - hvis man vil være helt sikker skal man jo checke om man er inden i en streng, og end ikke det vil give det helt rigtige resultat ( så vidt jeg lige kan tænke mig frem til ).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.