last day (15 days later) » 

5:01 PM
1
A: Como fazer um explode sem retornar valores vazios?

Papa CharlieSeria uma boa questão se a pergunta fosse sem o uso de expressões regulares. Não vejo real motivo para usar ER em algo que é tão simples. Há várias recomendações sobre o uso moderado das ER's. Se o caso é específico e o intuito é simplesmente remover as / no inicio e no final para evitar a criaç...

 
Concordo sobre as expressões regulares em alguns casos serem ruins, mas você concorda comigo que seu código teria problemas caso o usuário passasse na url a seguinte expressão 'pagina//id//1' ? O trim só serve para limpar o final e o início. No caso do PREG_SPLIT_NO_EMPTY ele eliminaria tudo que fosse vazio
 
array_filter limpa os índices vazios da url pagina//id//1. Aind anão vejo motivo para ER na url ``'pagina//id//1'`.
 
Se eu usasse da foram que você fez com pagina//id//1, retornaria isso array(5) { [0] => string(6) "pagina" [1] => string(0) "" [2] => string(2) "id" [3] => string(0) "" [4] => string(1) "1" }
Você acha que seria um ganho usar array_filter(explode()) ao invés de preg_split (não é uma pergunta sarcástica, é sincera mesmo) ?
 
Quando respondi não era a url pagina//id//1... Era outro caso...
 
Sim, mas eu não mudei a pergunta. Não seria justo. Foi apenas um questionamento.
 
5:01 PM
Eu não gosto de url que aceita barras múltiplas seguidas como pagina//id//1. Talvez eu usasse o próprio htaccess para ajustar essa url e remover as duplicatas.
 
hehehehe
eu também não acho uma boa idéia deixar a url livre assim
 
here we go kkk
 
A pergunta foi num contexto global
na verdade
eu usei o mesmo exemplo de problema que deu comigo quando eu estava fazendo um framework
tipo
/url/1/2/3/
 
eu também tive isso
 
retornava vazio
eu comentei sobre url//1//1//2 porque lembrei que isso tinha dado pau
O array_filter ajudaria com certeza
no caso, expressões regulares seriam para coisas mais complexas
 
5:05 PM
eu uso ERs, mas pq tenho varias rotas e varias combinações, então explode não resolve meu caso
 
aqui
vou dar uma limpada nos comentários
kkkkk
ficou parecendo que a gente estava brigando
 
e // não são aceitas nas rotas, retornam 404, por isso vou jogar a limpeza pro htaccess
 
:'(
ah, sim
tem alguns casos que não aceita mesmo
 
brigando kkkkkkkk
 
inclusive, queria entender uma coisa
Porque o Laravel 4 não aceita a / no fina
Se eu fizer uma requisição post com a barra no final, ele reconhece como GET
 
5:06 PM
nao aceita? ou vc nao configurou?
 
muito estranho!
 
eu nao conheço bem as rotas do laravel
 
Ele usa regexp, com certeza
Dá pra fazer como se fosse uma SQL
Route::get('x/{all}')->where('all', '(.*)');
tipo assim
 
e deveria ser? x/{all}**/**
maldito negrito rs
nao entendi isso:
Se eu fizer uma requisição post com a barra no final, ele reconhece como GET
Veja se ajuda na remoção das barras duplicatas:
6
A: remove multiple trailing slashes mod_rewrite

ArtefactoCan't reproduce. Extra slashes immediately after the domain are never passed to mod_rewrite even with DirectorySlashes off -- I haven't checked whether it's Opera or Apache that's removing the slash). But otherwise, everything works fine: RewriteBase / RewriteCond %{REQUEST_URI} ^//+(.*)$ [OR] R...

 

last day (15 days later) »