Gå til innhold

preg replace linje


Anbefalte innlegg

noen som kan forklare hva denne linjen gjør? vet den erstatter et eller annet, men hva erstatter den? ser jo mer ut som tilfeldige linjer bare for å lage det kult liksom :hmm:

 

preg_replace("/\/\//si", "/", $file)

 

et eller annet erstattes med / i $file, men hva erstattes :hmm: prøver å forstå denna her:

 

Skjult tekst: (Marker innholdet i feltet for å se teksten):

function directoryToArray($directory, $recursive) {
$array_items = array();
if ($handle = opendir($directory)) {
 while (false !== ($file = readdir($handle))) {
 	if ($file != "." && $file != "..") {
   if (is_dir($directory. "/" . $file)) {
   	if($recursive) {
     $array_items = array_merge($array_items, directoryToArray($directory. "/" . $file, $recursive));
   	}
   	$file = $directory . "/" . $file;
   	$array_items[] = preg_replace("/\/\//si", "/", $file);
   } else {
   	$file = $directory . "/" . $file;
   	$array_items[] = preg_replace("/\/\//si", "/", $file);
   }
 	}
 }
 closedir($handle);
}
return $array_items;
}

Endret av Tussi_qwerty
Lenke til kommentar
Videoannonse
Annonse

Den erstatter alle "//" med "/" i variabelen $file.

 

Første og siste slash (/) antyder start og slutt av det regulære uttrykket. Deretter kommer \/\/, som er // escapet med backslashes. Siden vi ikke bare kan skrive slash her (da vil vi si at uttrykket slutter her), så er vi nødt til å escape det med en backslash.

 

"si" er modifiers, og står nærmere forklart her: http://no.php.net/manual/en/reference.pcre...n.modifiers.php

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...