PHP/Programmazione/Regexp: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
fix
Filnik (discussione | contributi)
Nessun oggetto della modifica
Riga 29:
 
La regex utilizzata serve per trovare tutte le immagini in [[Aiuto:Markup|markup wiki]]; in particolare restituisce il suo nome reale (ovvero, senza il [[Aiuto:Namespaces|namespace]] immagine).
 
<br/>In PHP una regex deve essere definita in una stringa di testo che inizia e finisce con "/" per far capire al motore che quella è una regex e non testo qualunque. La funzione <code>preg_match</code> prende il primo parametro (la regex), lo confronta col secondo (il testo) e assegna il risultato alla variabile indicata come terzo parameetro (nel nostro caso <code>$risultato </code>, che noi mostriamo con la funzione <code>print_r</code>).
 
La variabile di risultato conterrà il testo associato dall'intera regex e l'evenutale testo dei cosidetti ''backreference'' indicati tra le parentesi (nel nostro caso rispettivamente $risultato[0] e $risultato[1]). La prima parentesi non viene restituita come ''backreference'' solo perché è stato utilizzato il modificatore <tt>?:</tt> che indica al motore delle regex di non contare quelle determinate parentesi per le ''backreference'' (ciò serve per rendere la regex più veloce).
Line 74 ⟶ 75:
<source lang=php>
<?php
$testo = "<br><br ><br />";
$regex = "/<br\s?>/";
$regex2 = "<br>";
risultato = preg_replace($regex, $regex2, $testo);
print_r(risultato);
?>
</source>