2016-03-30 19 views
0

böyle olsun bir zincir örneğin başına, seferkinden daha uzun olursa html içeriğinden PHP'de tüm beyaz boşlukları kaldırmak için çalışıyorum:eğer tüm beyaz boşlukları kaldırmak için nasıl birden fazla

{{IMG}}          {{IMG}}          {{IMG}}          {{IMG}}          {{IMG}} 

Ama olmamalı' gibi bir cümleyi etkiler: Hakkımızda.

Bir düzenli ifadeyle mi yapılmalıdır? Herhangi bir fikir?

PS: değişken zaten trim() ile kullanılır; hangi sonunda ve başlangıçta beyaz boşlukları kaldırır ama karakterler arasında değil ...

Yardımlarınız için çok teşekkürler.

+1

'trim (string) işlevini kullanın;' işlev –

+1

Yani, trim() işlevi gibi mi? –

+1

Gibi ** Matt Magallo ** içerikte bir değişken kullanılıyorsa, 'trim(); ' –

cevap

2

$str = preg_replace('/\s+/', ' ', $originalString); echo $str;

Bu, tek bir alana sahip tüm boşluk yerini alır.

+0

Sorunu çözmüyor ancak kodunuzla çalışmasını sağlamanın bir yolunu buldum. Çok teşekkürler! – scrybs

+0

Serin. Bulduğun şeyi paylaşabilir misin? Gelecekte birisi için yararlı olacaktır. –

+1

Kodunuzun kullanılması aşağıdakileri çıkarır: {{IMG}} {{IMG}} {{IMG}} {{IMG}} {{IMG}} Postamdaki değişkeni belirtirseniz, başka bir normal ifade uygulayın: preg_replace ("/}} {{/", "}} {{", $ str); bu yüzden cümlenin sadece değişken olup olmadığını anlayabiliyorum. Teşekkürler – scrybs

0

Böyle bir şey yapabileceğini:

Örnek 1: Trim boşlukların

<?php 
# Test variable 
$string = "HELLO  I  HAVE WHITE SPACEEE!!1"; 

# Count all whitespaces 
# Contains more than 1 whitespace 
if(substr_count($string, ' ') > 1) { 
    # Example 2: Remove the whitespaces 

    $string = trim($string); 
} 
# Ouput: HELLO I HAVE WHITE SPACEEE!!1 
echo $string; 
?> 

Örnek 3: more than 1

<?php 
# Test variable 
$string = "HELLO  I  HAVE WHITE SPACEEE!!1"; 

# Count all whitespaces 
# Contains more than 1 whitespace 
if(substr_count($string, ' ') > 1) { 
    # Example 1: Remove the whitespaces 

    $string = preg_replace('/\s+/', '', $string); 
} 
# Ouput: HELLOIHAVEWHITESPACEEE!!1 
echo $string; 
?> 

Örnek 2 eğer boşlukları Kaldır değiştirin whitespaces

<?php 
# Test variable 
$string = "HELLO  I  HAVE WHITE SPACEEE!!1"; 

# Count all whitespaces 
# Contains more than 1 whitespace 
if(substr_count($string, ' ') > 1) { 
    # Example 1: Replace the whitespaces 

    $string = preg_replace('/\s+/', ' ', $string); 
} 
# Ouput: HELLO I HAVE WHITE SPACEEE!!1 
echo $string; 
?> 

Örnek 4:

<?php 
# Test variable 
$string = "HELLO  I  HAVE  WHITE  SPACEEE!!1 And I like bananas."; 

# Count all whitespaces 
# Contains more than 1 whitespace 
if(substr_count($string, ' ') > 1) { 
    # Example 1: Replace the whitespaces 

    $string = preg_replace('/\s\s+/', '', $string); 
} 
# Ouput: HELLOIHAVEWHITESPACEEE!!1 And I like bananas. 
echo $string; 
?> 
+0

Bu işe yarayabilir ama sorun şu ki "Ben muz yiyorum" gibi bir cümle 2 boşluk içeriyor ve bunlar kaldırılacak ama onlar ... – scrybs

+0

* facepalm * denediniz mi @GuilVII –

+0

@MattMagallo facepalm ? – scrybs

0

Bana sorarsan bu oldukça garip bir istek.

Muhtemelen (yararlı bulabilirler başka durumda herkes kabul edilen yanıt uyarlanmıştır) gibi bir şey yapabileceğini:

$str = preg_replace('/\s\s+/', '', $originalString); 

Bu tüm boşluklar üst üste bunlardan en az 2 içinde olursa kaldırır.

İlgili konular