Avatar billede henrywood Nybegynder
26. januar 2003 - 21:22 Der er 1 kommentar

preg replace

Hej !

Jeg vil gerne have hjælp til et reg. expression der ud af en streng som denne:
<///element1:id:3///><//element1//>

laver dette php kode der så kan evales efterfølgende:

<?php $element1_id = '3'; ?><//element1//>

Jeg har forsøgt med dette

while (strpos($template,"<//") > 0) { // As long as the parsed data contains references to elements
$template = preg_replace("/<\/\/\/(\w+):(\w+):(\w+)\/\/\/>/e",
            "<?php \${".strtolower($1)."}_{."strtolower($2)."} = '."strtolower($3):"'; ?>",
            $template);

men det virker ikke....

Alle matches skal tvinges til lowercase

100 points til den hurtigste, da jeg har deadline om få timer.
Avatar billede rednex Nybegynder
30. januar 2003 - 23:21 #1
Det er desværre ikke i tid til at nå din deadline, men jeg håber du kan bruge svaret alligevel:

$template = strtolower(preg_replace('/<\/\/\/([[:alpha:]][^:]*):([[:alnum:]]+):([[:alnum:]]+)\/\/\/>(<\/\/[[:alnum:]]+\/\/>)/is', "<?php \$\\1_\\2 = '\\3';?>\\4", $template));
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester