[Php-it] EREG fermarsi alla prima occorrenza
Emiliano Gabrielli (aka AlberT)
AlberT at superalbert.it
Wed Jul 12 11:21:46 CEST 2006
On Wednesday 12 July 2006 11:08, Domenico Lorusso wrote:
pereg_match_all('#\{[^}]+\}#', $a, $matches);
o qualcosa di simile .. scusa ma non ho tempo di testarla
> Ciao a tutti,
> ho un problema con le espressioni regolari, da un testo (html) che
> contiene delle parole delimitate da {} vorrei ottenere un elenco di
> queste parole, sono arrivato a fare:
>
> $a='<html {}{fasdf }<body>ciao {che bello} boh {che sbello} mioa';
> $a=ereg_replace('^.*<body','',$a);
> echo "<p>1- $a</p>";
> $a=ereg_replace('^.*{','{',$a);
> echo "<p>2- $a</p>";
> $a=ereg_replace('{(.+)}','\\1,',$a);
> echo "<p>3- $a</p>";
> $a=ereg_replace(',.*$','',$a);
> echo "<p>4- $a</p>";
> il cui output è
>
> 1- >ciao {che bello} boh {che sbello} mioa
>
> 2- {che sbello} mioa
>
> 3- che sbello, mioa
>
> 4- che sbello
>
> Insomma, il problema è che il match non si ferma alla prima occorrenza
> ma all'ultima della parentesi graffa nel passaggio 2
> invece di considerare: ">ciao {" considera ">ciao {che bello} boh {" che
> è troppo, come si fa a dirgli di considerare fermarsi alla prima
> occorrenza?
>
> grazie
--
<?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
' socio fondatore e membro del direttivo del GrUSP ',"\n",
' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>
More information about the Php-it
mailing list