oxyzero Posted August 17, 2013 at 05:37 PM Report #521960 Posted August 17, 2013 at 05:37 PM (edited) Olá a todos, Preciso de uma ajuda, porque não estou a entender como fazer o primeiro parâmetro da função preg_match. Eu tenho a seguinte linha de código: $lines = preg_replace('/\s+/', '', $lines); Esta linha limpa todos os whitespaces na string. O que é o que eu preciso, mas, eu não quero eliminar espaços que estejam entre aspas ou seja: String: teste aaa . "Um teste bbb" ! Como a função está neste momento a seguinte string ficaria: testeaaa."Umtestebbb"! Como eu queria que a função trata-se da string: testeaaa."Um teste bbb"! O preg_match é capaz de fazer isto? Se sim, podem-me ajudar a entender como formar aquele código que se insere no primeiro parametro? Edited August 18, 2013 at 12:33 AM by oxyzero 1 Report
oxyzero Posted August 18, 2013 at 12:33 AM Author Report #521982 Posted August 18, 2013 at 12:33 AM Hmmn, encontrei esta aqui que acabou por funcionar. Além disso, permite fazer escape às quotes dentro de quotes tipo: " \"teste\" " Se alguém precisar: $lines = preg_replace('/\s+(?=((\\[\\"]|[^\\"])*"(\\[\\"]|[^\\"])*")*(\\[\\"]|[^\\"])*$)/', '', $lines);
brunoais Posted September 13, 2013 at 11:24 AM Report #524432 Posted September 13, 2013 at 11:24 AM $lines = preg_replace('/\s+(?=((\\[\\"]|[^\\"])*"(\\[\\"]|[^\\"])*")*(\\[\\"]|[^\\"])*$)/', '', $lines); Peguei nisso e melhorei um pouco. "[^"\\]*(?:\\.[^"\\]*)*" "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now