<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Togliere gli spazi bianchi intermedi: è possibile?]]></title><description><![CDATA[<p dir="auto">Ho un problema che si verifica quando il form viene compliato una seconda volta e in uno dei campi si inseriscono le stesse parole ma staccate da un numero diverso di spazi bianchi intermedi.</p>
<p dir="auto">Per evitare che il form sia compilato due volte con stessi dati, prima di inserire un nuovo record nella tabella si esegue un controllo.</p>
<p dir="auto">Faccio una verifica se il valore introdotto nel campo è già presente nel database. Se già inserito, rimando a pagina di errore. Se non presente si inserisce un nuovo record.</p>
<p dir="auto"><strong>PROBLEMA</strong><br />
Quando si complia il campo di un form e con la barra spaziatrice si inseriscono tra le parole 2 o più spazi bianchi, il valore del campo risulta diverso, e di conseguenza si aggiunge un nuovo record nella tabella, cosa che non dovrebbe accadere....</p>
<p dir="auto">Faccio un esempio pratico, se nel campo si inseriscono i valori:</p>
<p dir="auto">Pizzeria Bellavista (<em>separate da 1 spazio bianco</em>)<br />
Pizzeria Bellavista (<em>separate da 2 spazi bianchi</em>)<br />
Pizzeria Bellavista (<em>separate da 3 spazi bianchi</em>)<br />
Pizzeria Bellavista (<em>separate da 4 spazi bianchi</em>)</p>
<p dir="auto">questi sono considerati diversi e vengono aggiunti nella tabella<br />
io vorrei che fossero considerati tutti uguali e non diversi e lo spazio bianco interno fosse ridotto ad 1 solo</p>
<p dir="auto">Per prevenire simili errori in fase di data entry si è soliti usare le funzioni <strong>ltrim</strong> e <strong>rtrim</strong> ma queste eliminano solo gli spazi bianchi all'inizio ed alla fine</p>
<p dir="auto">Mi chiedevo se esiste una funzione analoga che riduce gli spazi bianchi intermedi ad 1 solo spazio togliendo tutti quelli superflui</p>
<p dir="auto">Esiste?</p>
<p dir="auto">Un saluto</p>
]]></description><link>https://connect.gt/topic/18107/togliere-gli-spazi-bianchi-intermedi-è-possibile</link><generator>RSS for Node</generator><lastBuildDate>Sun, 18 Oct 2026 00:13:00 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/18107.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Oct 2006 11:29:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Fri, 06 Oct 2006 09:36:35 GMT]]></title><description><![CDATA[<p dir="auto">Ciao,</p>
<p dir="auto">ho risolto con il codice di PaTeR (grazie <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--wink" title=";-)" alt="😉" /></p>
<p dir="auto">$nome_pulito = preg_replace('#\040{2,}#', ' ', $nome);</p>
<p dir="auto">è bastato cancellare il secondo \040 ed inserire uno spazio vuoto è tutto ha funzionato</p>
<p dir="auto">grazie mille</p>
<p dir="auto">Buona giornata</p>
]]></description><link>https://connect.gt/post/377215</link><guid isPermaLink="true">https://connect.gt/post/377215</guid><dc:creator><![CDATA[redart]]></dc:creator><pubDate>Fri, 06 Oct 2006 09:36:35 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Fri, 06 Oct 2006 02:42:49 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">$testo=str_replace('    ',' ',$testo_da_parserare);<br />
$testo=str_replace('   ',' ',$testo);<br />
$testo=str_replace('  ',' ',$testo);</p>
</blockquote>
<p dir="auto">Dai. E' osceno. E se gli spazi sono 8? <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
<p dir="auto">Quoto pater ed aggiungo che potresti crearti una funziona apposta e passargli i valori.</p>
<p dir="auto">Una cosa del tipo:</p>
<p dir="auto">function rimuovispazi($testo,$trim=true) {<br />
$testo=preg_replace("#\s{2,}#", " ", $testo);<br />
return $testo=($trim)?trim($testo):$testo;<br />
}</p>
<p dir="auto">che chiamerai con:<br />
$text=rimuovispazi($vecchiotesto); se vuoi anche togliere gli spazi ad inizio e fine riga o<br />
$text=rimuovispazi($vecchiotesto,false); se non vuoi</p>
<p dir="auto"><img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/54a3bffb-5e4a-4eb8-81dc-99b2072e5d05-175.gif?v=cne14qcbr9u" class="not-responsive emoji emoji-customizations emoji--ciauz" title=":ciauz:" alt=":ciauz:" /></p>
]]></description><link>https://connect.gt/post/377205</link><guid isPermaLink="true">https://connect.gt/post/377205</guid><dc:creator><![CDATA[massy]]></dc:creator><pubDate>Fri, 06 Oct 2006 02:42:49 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Thu, 05 Oct 2006 18:46:50 GMT]]></title><description><![CDATA[<p dir="auto">@piccolosocrate said:</p>
<blockquote>
<p dir="auto">allora senza impelagarti in script atroci con tre righe risolvi il problema....</p>
<p dir="auto">$testo=str_replace('    ',' ',$testo_da_parserare);<br />
$testo=str_replace('   ',' ',$testo);<br />
$testo=str_replace('  ',' ',$testo);<br />
Non è script atroce quello che ho fatto... è script funzionante. Questo è un pò di codice in extremis, ma se funziona... tanto bene per lui...</p>
</blockquote>
]]></description><link>https://connect.gt/post/377210</link><guid isPermaLink="true">https://connect.gt/post/377210</guid><dc:creator><![CDATA[pater]]></dc:creator><pubDate>Thu, 05 Oct 2006 18:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Thu, 05 Oct 2006 16:58:32 GMT]]></title><description><![CDATA[<p dir="auto">allora senza impelagarti in script atroci con tre righe risolvi il problema....</p>
<p dir="auto">$testo=str_replace('    ',' ',$testo_da_parserare);<br />
$testo=str_replace('   ',' ',$testo);<br />
$testo=str_replace('  ',' ',$testo);</p>
]]></description><link>https://connect.gt/post/377207</link><guid isPermaLink="true">https://connect.gt/post/377207</guid><dc:creator><![CDATA[piccolo.socrate]]></dc:creator><pubDate>Thu, 05 Oct 2006 16:58:32 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Thu, 05 Oct 2006 16:45:33 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://connect.gt/uid/5650">@Redart</a> said:</p>
<blockquote>
<p dir="auto">Niente scuse PaTeR.........<br />
solo grazie per la disponibilità <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--wink" title=";-)" alt="😉" /></p>
<p dir="auto">mi spiace deluderti ma purtroppo non và<br />
sono stato attento a copiarlo per bene ma proprio non funziona</p>
<p dir="auto">$nome_pulito = preg_replace('#\040{2,}#', '\040', $nome);</p>
<p dir="auto">la soluzione è più ardua di quanto pensassi <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/ad0a1f8d-b404-40e4-a46a-e563b14044da-dho.gif?v=cne14qcbr9u" class="not-responsive emoji emoji-customizations emoji--arrabbiato" title=":x" alt=":arrabbiato:" /></p>
<p dir="auto">Ciao<br />
A me funziona... guarda qui ( ho levato il secondo \040 per mettere uno spazio) :<br />
<a href="http://phoenixdivision.byethost16.com/aaa.php" rel="nofollow ugc">http://phoenixdivision.byethost16.com/aaa.php</a></p>
</blockquote>
<p dir="auto">Naturalmente non si nota niente dal browser, devi vedere il sorgente della pagina.</p>
]]></description><link>https://connect.gt/post/377209</link><guid isPermaLink="true">https://connect.gt/post/377209</guid><dc:creator><![CDATA[pater]]></dc:creator><pubDate>Thu, 05 Oct 2006 16:45:33 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Thu, 05 Oct 2006 14:30:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://connect.gt/uid/11">@PaTeR</a> said:</p>
<blockquote>
<p dir="auto">Scusa, come al solito ho dimenticato i delimitatori... Li dimentico sempre <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f61b.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--stuck_out_tongue" title=":P" alt="😛" /></p>
</blockquote>
<p dir="auto">modifica così il codice:</p>
<p dir="auto">$b = preg_replace('#\040{2,}#', '\040', $a);</p>
<p dir="auto">$a è il tuo testo. $b è il testo risultante.</p>
<p dir="auto">Niente scuse PaTeR.........<br />
solo grazie per la disponibilità <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--wink" title=";-)" alt="😉" /></p>
<p dir="auto">mi spiace deluderti ma purtroppo non và<br />
sono stato attento a copiarlo per bene ma proprio non funziona</p>
<p dir="auto">$nome_pulito = preg_replace('#\040{2,}#', '\040', $nome);</p>
<p dir="auto">la soluzione è più ardua di quanto pensassi <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/ad0a1f8d-b404-40e4-a46a-e563b14044da-dho.gif?v=cne14qcbr9u" class="not-responsive emoji emoji-customizations emoji--arrabbiato" title=":x" alt=":arrabbiato:" /></p>
<p dir="auto">Ciao</p>
]]></description><link>https://connect.gt/post/377214</link><guid isPermaLink="true">https://connect.gt/post/377214</guid><dc:creator><![CDATA[redart]]></dc:creator><pubDate>Thu, 05 Oct 2006 14:30:15 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Thu, 05 Oct 2006 13:47:59 GMT]]></title><description><![CDATA[<p dir="auto">Scusa, come al solito ho dimenticato i delimitatori... Li dimentico sempre <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f61b.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--stuck_out_tongue" title=":P" alt="😛" /></p>
<p dir="auto">modifica così il codice:</p>
<p dir="auto">$b = preg_replace('#\040{2,}#', '\040', $a);</p>
<p dir="auto">$a è il tuo testo. $b è il testo risultante.</p>
]]></description><link>https://connect.gt/post/377208</link><guid isPermaLink="true">https://connect.gt/post/377208</guid><dc:creator><![CDATA[pater]]></dc:creator><pubDate>Thu, 05 Oct 2006 13:47:59 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Thu, 05 Oct 2006 13:23:47 GMT]]></title><description><![CDATA[<p dir="auto">Ciao,</p>
<p dir="auto">e grazie per l'interessamento a quelli che hanno postato (PaTeR, CZero, piccolosocrate)</p>
<p dir="auto">purtroppo i suggerimenti non hanno dato frutti</p>
<p dir="auto">[LEFT]quello di piccolosocrate funziona benissimo<br />
ma serve a sostituire solo il doppio spazio con uno solo[/LEFT]</p>
<p dir="auto">[LEFT]non sò se c'è un modo per rendere la funzione più generale<br />
[LEFT]per spazi &gt;= a 2[/LEFT]</p>
<p dir="auto">[LEFT]ho provato a modificarla con[/LEFT]</p>
<p dir="auto">[LEFT]str_replace('\040{2,}','\040',$testo_da_parsare);[/LEFT]</p>
<p dir="auto">ma nulla di nulla, non funziona</p>
<p dir="auto">che dite, si può modificare???</p>
<p dir="auto">[/LEFT]</p>
<p dir="auto">il codice complicatissimo di PaTeR in teoria dovrebbe andare ma<br />
anche questo non funziona</p>
<p dir="auto">se ho capito bene la funzione** preg_replace**<br />
esegue una ricerca ed una sostituzione con le espressioni regolari</p>
<p dir="auto">preg_replace (espressione_regolare, sostituto, testo)</p>
<p dir="auto">La funzione ricerca in testo i criteri impostati in espressione_regolare.<br />
e li sostituisce con sostituto.</p>
<p dir="auto"><em><strong>\040</strong></em><br />
è modo per indicare uno spazio</p>
<p dir="auto"><strong>{2,}</strong><br />
dovrebbe significare<br />
che quanto scritto prima si ripete da 2 volte ad infinito</p>
<p dir="auto">quindi, il tutto dovrebbe significare cerca all'interno di $testo_da_parsare gli spazi bianchi ripetuti 2 o più volte e sostituiscili con 1 solo spazio bianco</p>
<p dir="auto">purtoppo non va <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--disappointed" title=":-(" alt="😞" /></p>
<p dir="auto">ho fatto dei tentativi e ho provato anche a sostituire \040 con \40<br />
in quanto avevo letto che sono equivalenti.... ma nulla è cambiato</p>
<p dir="auto">ho provato anche a sostituire i doppi apici " " con quelli singoli ' '<br />
dopo aver visto il suggerimento di piccolosocrate,<br />
ma mi rida l'errore</p>
<p dir="auto">qualcun'altro ha suggerimenti?</p>
<p dir="auto">Un saluto</p>
]]></description><link>https://connect.gt/post/377212</link><guid isPermaLink="true">https://connect.gt/post/377212</guid><dc:creator><![CDATA[redart]]></dc:creator><pubDate>Thu, 05 Oct 2006 13:23:47 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Thu, 05 Oct 2006 12:26:41 GMT]]></title><description><![CDATA[<p dir="auto">@piccolosocrate said:</p>
<blockquote>
<p dir="auto">io ho fatto così:</p>
<pre><code>
$testo=str_replace('  ',' ',$testo_da_parserare);

</code></pre>
</blockquote>
<p dir="auto">Questo non va perchè tu a priori non sai quanti spazi bianchi ci sono...</p>
]]></description><link>https://connect.gt/post/377204</link><guid isPermaLink="true">https://connect.gt/post/377204</guid><dc:creator><![CDATA[pater]]></dc:creator><pubDate>Thu, 05 Oct 2006 12:26:41 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Wed, 04 Oct 2006 20:09:47 GMT]]></title><description><![CDATA[<p dir="auto">io ho fatto così:</p>
<pre><code>
$testo=str_replace('  ',' ',$testo_da_parserare);

</code></pre>
]]></description><link>https://connect.gt/post/377206</link><guid isPermaLink="true">https://connect.gt/post/377206</guid><dc:creator><![CDATA[piccolo.socrate]]></dc:creator><pubDate>Wed, 04 Oct 2006 20:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Wed, 04 Oct 2006 17:21:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://connect.gt/uid/5650">@Redart</a> said:</p>
<blockquote>
<p dir="auto">Ciao e grazie per la risposta,</p>
<p dir="auto">No... purtroppo non va</p>
<p dir="auto">il valore del campo lo ripulisco in questo modo prima del confronto:</p>
<p dir="auto">$nome = ltrim(rtrim(strip_tags($_POST['nome'])));</p>
<p dir="auto">dietro tuo consiglio ho poi messo</p>
<p dir="auto">$nome_pulito = implode(" ", explode(" ",$nome));</p>
<p dir="auto">ma il risultato non cambia.... gli spazi bianchi intermedi restituiscono sempre valori diversi e non confrontabili</p>
<p dir="auto">Qualcuno si è trovato in questa situazione e sa come fare?</p>
</blockquote>
<p dir="auto">Puoi risolvere con le espressioni regolari.</p>
<p dir="auto">$testo_parsato = preg_replace("\040{2,}", "\040", $testo_da_parsare);</p>
<p dir="auto">Dovrebbe andare, non ho testato niente <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f61b.png?v=cne14qcbr9u" class="not-responsive emoji emoji-android emoji--stuck_out_tongue" title=":P" alt="😛" /></p>
]]></description><link>https://connect.gt/post/377200</link><guid isPermaLink="true">https://connect.gt/post/377200</guid><dc:creator><![CDATA[pater]]></dc:creator><pubDate>Wed, 04 Oct 2006 17:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Wed, 04 Oct 2006 14:00:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://connect.gt/uid/2726">@CZero</a> said:</p>
<blockquote>
<p dir="auto">Non mi ricordo e non posso provare ora, ma credo che puoi risolvere facendo:</p>
</blockquote>
<p dir="auto">$testo_pulito = implode(" ", explode(" ",$testo_da_pulire));</p>
<p dir="auto">Ciao e grazie per la risposta,</p>
<p dir="auto">No... purtroppo non va</p>
<p dir="auto">il valore del campo lo ripulisco in questo modo prima del confronto:</p>
<p dir="auto">$nome = ltrim(rtrim(strip_tags($_POST['nome'])));</p>
<p dir="auto">dietro tuo consiglio ho poi messo</p>
<p dir="auto">$nome_pulito = implode(" ", explode(" ",$nome));</p>
<p dir="auto">ma il risultato non cambia.... gli spazi bianchi intermedi restituiscono sempre valori diversi e non confrontabili</p>
<p dir="auto">Qualcuno si è trovato in questa situazione e sa come fare?</p>
]]></description><link>https://connect.gt/post/377213</link><guid isPermaLink="true">https://connect.gt/post/377213</guid><dc:creator><![CDATA[redart]]></dc:creator><pubDate>Wed, 04 Oct 2006 14:00:04 GMT</pubDate></item><item><title><![CDATA[Reply to Togliere gli spazi bianchi intermedi: è possibile? on Wed, 04 Oct 2006 13:21:19 GMT]]></title><description><![CDATA[<p dir="auto">Non mi ricordo e non posso provare ora, ma credo che puoi risolvere facendo:</p>
<p dir="auto">$testo_pulito = implode(" ", explode(" ",$testo_da_pulire));</p>
]]></description><link>https://connect.gt/post/377211</link><guid isPermaLink="true">https://connect.gt/post/377211</guid><dc:creator><![CDATA[czero]]></dc:creator><pubDate>Wed, 04 Oct 2006 13:21:19 GMT</pubDate></item></channel></rss>