Eğer bir boşluk arıyorsanız, o " "
(bir boşluk) olacaktır.
Eğer bir veya daha fazla arıyorsanız, o " *"
(yani two uzaylar ve bir yıldız var) veya " +"
(bir boşluk ve bir artı) bulunuyor.
Ortak boşluk arıyorsanız, "[ X]"
veya "[ X][ X]*"
veya "[ X]+"
burada X
fiziksel sekme karakteri kullanmak (ve her biri ) Tüm bu örneklerde tek bir boşluk karakteri.
Bu şimdiye kadar (hatta öf, tek-veya-daha fazla "+"
karakter yok bazıları) gördüm every * regex motoru çalışacaktır.
Eğer daha modern regex motorlarından birini kullanarak olacak biliyorsanız, "\s"
ve varyasyonları gitmek için yoludur. Buna ek olarak, ben boşluk önceki veya bir sonraki olmadan görünebilir kelimeleri ararken kelime sınırları, hem de önemli bir başlangıç ve çizgilerin ucunu maç inanıyorum.
PHP için özel olarak, this page yardımcı olabilir.
Düzenlemeden itibaren, size (regex içindeki boşluğa dikkat edin) olmayan tüm geçerli Karakterleri Bu başlangıç kaldırmak istiyorsun, görünür:
$newtag = preg_replace ("/[^a-zA-Z0-9 ]/", "", $tag);
# ^ space here
Ayrıca, her kelime ve hiçbiri arasında sadece bir boşluk başlangıcında veya sonunda orada sağlamak için hile istiyorsanız, bu biraz daha karmaşık (ve muhtemelen başka bir soru) ama temel fikir olacaktır:
$newtag = preg_replace ("/ +/", " ", $tag); # convert all multispaces to space
$newtag = preg_replace ("/^ /", "", $tag); # remove space from start
$newtag = preg_replace ("/ $/", "", $tag); # and end