Sorunuzun cevabı aslında UTF-8 dizeleri işleyebilir bir düzenli ifade fonksiyonunu kullanmak olacaktır.
mb_internal_encoding("UTF-8");
mb_regex_encoding('UTF-8');
// eliminate the first spaces
$search = mb_ereg_replace('^\s*', '', ''.$row['searchquery']);
// replace the other spaces with '+' signs
echo '<a href="http://www.example.com/' . mb_ereg_replace('\s', '+', $search) . '+/">';
Ayrıca preg fonksiyonlar için /u değiştirici kullanabilirsiniz:
echo '<a href="http://www.example.com/' . preg_replace(array('/[^\s\w]/u','/\s/u'),array('','+'),$search) . '+/">'
Bu iyi görünüyor, ama dikkatli olmalısınız. Ben şimdi denedim ve gayet sizin karakterleri çıktılar, ama ben girişi (AST) olarak verdik diğer bazı UTF-8 karakterleri çıkarılır fark ettim.
zaf bu :) yapmak daha kolay yolları vardır, doğru.