ho scritto questa preg [a-zA-Z\s]*(,[a-zA-Z\s]*)? e vorrei che il campo fosse una cosa del genere: dfdf fds dfsdf,fdfd,fsdf ma non capisco perché me lo valida solo fino a dfdf fds dfsdf,fdfd e tralascia l'ultimo pezzetto...
un aiutino?![]()
ho scritto questa preg [a-zA-Z\s]*(,[a-zA-Z\s]*)? e vorrei che il campo fosse una cosa del genere: dfdf fds dfsdf,fdfd,fsdf ma non capisco perché me lo valida solo fino a dfdf fds dfsdf,fdfd e tralascia l'ultimo pezzetto...
un aiutino?![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
così dovrebbe andare [a-zA-Z\s]*(,[a-zA-Z\s]+)*
ora mia manca da verificare che tra una parola e l'altra ci sia un solo spazio. Ma mi sa che taglierò la testa al toro e farò un bel ereg_replace
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
codice:<?php $test = "dfdf fds dfsdf,fdfd,fsdf"; echo preg_replace( "/(?i)([a-z]+\s{1}|[a-z]+|,[a-z]+)/e", '"[".preg_replace("/\s|,/", "", "\\1")."]"', $test ); // risultato: // [dfdf][fds][dfsdf][fdfd][fsdf] ?>
ciao andr3a e grazie per la funzione, ma quello che volevo ottente io era, data una stringa del genere:è quello di ottenere:codice:pippo pluto paperino,topolino, minnie paperone
[pippo pluto paperino][topolino][minnie paperone]
cioè io devo solo verificare che i vari spezzoni siano separati da una virgola e che nei vari spezzoni le parole non siano separate da più spazi, ma da uno solo
![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
ci sono...così dovrebbe andar bene:
codice:function checkTag( $tag ){ return preg_match("/^[a-zA-Z]*(\s)?(,[a-zA-Z]*(\s)?)*$/", $tag); }
l'unica cosa che non mi piace è che non mi accetta un eventuale spazio dopo la virgola...vedo di smanettarci ancora un attimo![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
non è vero non mi funziona invece![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
così, salvo altre complicazioni dovrebbe andare...io ho fatto un po' di prove e la preg mi ha soddisfatto...se trovate qualche baco me lo dite?
codice:function checkTag( $tag ){ return preg_match("/^(([\w]+(\s)?)*)+((,)(\s)?([\w]+(\s)?)*)*$/", $tag); }
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
e allora questa non va beneOriginariamente inviato da 13manuel84
cioè io devo solo verificare che i vari spezzoni siano separati da una virgola e che nei vari spezzoni le parole non siano separate da più spazi, ma da uno solo
[pippo pluto paperino][topolino][minnie paperone]codice:pippo pluto paperino,topolino, minnie paperone
perchè tra pluto e paperino c'è più di uno spazio ... poi alla fine hai fatti una preg_match ?
mica ho capito bene come o cosa ti serve ... ma se hai risolto, meglio così![]()
spiegare i problemi non è mai stato un mio punto forte![]()
quello che dovevo verificare era che data una stringa ci fossero dei tag separati da virgola.
Ogni tag può essere o una parola singola o un insieme di più parole separate tra loro da un unico spazio.
l'esempio che avevo fatto sopra era perché la preg che avevo fatto accettava spazi multipli e quindi mi serviva qualcosa che li eliminasse. Oppure, al posto di eliminarli era sufficiente una preg che ne accettasse uno solo...e penso che l'ultima faccia al caso mio.
![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
Originariamente inviato da 13manuel84
Ogni tag può essere o una parola singola o un insieme di più parole separate tra loro da un unico spazio.codice:<?php $match = "/^((\w+\s)+\w+|,\w+|\w+)+$/"; $test = "dfdf fds dfsdf,fdfd,fsdf"; if(preg_match($match, $test)) echo "1 OK "; $test = "pippo pluto paperino,topolino, minnie paperone"; if(preg_match($match, $test)) echo "2 OK "; // risultato // 1 OK ?>