Você também pode fazer isso para impedir que as palavras iniciem ou terminem com sublinhados como _words_more_words_. Isso evitaria o início e o término com espaços em branco.
$trimmed = trim($string);// Trims both ends
$convert = str_replace('','_', $trimmed);
Isso é interessante, pois os espaços no início / fim da linha não serão substituídos por _, mas removidos. No entanto, lembre-se de que ele pode / também removerá outros caracteres do início / fim da string como (\ re and \ n ou tabs).
Paul
1
Isso faz parte do meu código que transforma espaços em sublinhados para nomear meus arquivos:
Strtrsubstitui caracteres únicos em vez de cadeias, por isso é uma boa solução para este exemplo. Supostamente strtré mais rápido que str_replace(mas, para este caso de uso, ambos são imensuravelmente rápidos).
Legal, se alguém convertesse espaços em "_" em vários arquivos longos (logs?), Isso poderia ser mensurável mais rápido? (Embora não haja prova / referência, pode ser uma resposta interessante para qualquer pessoa interessada em velocidade de execução).
Paul
Ei Paul, eu acho que sim. Experimente e faça benchmark.
Thoracius Appotite 11/01/19
0
str_replace- é uma solução evidente. Mas às vezes você precisa saber quais são exatamente os espaços que existem. Estou com um problema com espaços no arquivo csv.
Havia dois caracteres, mas um deles era 0160 (0x0A0) e outro era invisível (0x0C2)
minha solução final:
$str = preg_replace('/\xC2\xA0+/','', $str);
Encontrei o símbolo invisível do visualizador HEX do mc (visualizador da meia-noite - F3 - F9)
http://php.net/manual/en/function.str-replace.php
fonte
Use a função str_replace do PHP.
Algo como:
fonte
Ligue para http://php.net/str_replace :
$input = str_replace(' ', '_', $input);
fonte
Use str_replace :
fonte
Você também pode fazer isso para impedir que as palavras iniciem ou terminem com sublinhados como _words_more_words_. Isso evitaria o início e o término com espaços em branco.
fonte
Isso faz parte do meu código que transforma espaços em sublinhados para nomear meus arquivos:
fonte
Eu usei assim
fonte
você pode
str_replace
dizer que seu nome está na variável$name
Outra maneira é usar o regex, pois ajudará a eliminar o espaço de 2 horas, etc.
fonte
Strtr
substitui caracteres únicos em vez de cadeias, por isso é uma boa solução para este exemplo. Supostamentestrtr
é mais rápido questr_replace
(mas, para este caso de uso, ambos são imensuravelmente rápidos).fonte
str_replace
- é uma solução evidente. Mas às vezes você precisa saber quais são exatamente os espaços que existem. Estou com um problema com espaços no arquivo csv.Havia dois caracteres, mas um deles era 0160 (0x0A0) e outro era invisível (0x0C2)
minha solução final:
Encontrei o símbolo invisível do visualizador HEX do mc (visualizador da meia-noite - F3 - F9)
fonte
'/\s+/'
?