I am having trouble with string manipulation in php. I am writing a function that with take a string parameter that has words separated with either " " or "_". I want the function to remove all non alphabetic characters and return the words separated with a "-". This is what I have so far:
function cleanCategoryForUrl($strCategory){
$newCategory = str_replace('_', '-', $strCategory); //First replacement
echo ($newCategory);
$newCategory = str_replace(' ', '-', $newCategory); //Second replacement
echo ($newCategory);
$newCategory = preg_replace('/[^a-z-]/i', '', $strCategory); //Final replacement
echo ($newCategory);
return $newCategory;
}
Yerine "yorum" veya "_" - "," birinci ve ikinci değiştirmeleri ile ayrılmış kelime yapmak alacak. "-" Nihai yedek alfabetik veya olmayan tüm karakterlerin kırmızı alacak.
Ben kodu sınamak Ama, ben son değişiminden sonra beklenmeyen sonuçlar alabilirsiniz.
"Home_Health" bir girişi ile ben bu baskılı olsun:
Home-Health
Home-Health
HomeHealth
Beklendiği gibi ilk iki çıkış vardır, ancak üçüncü bir kaldırıldı "-" (böyle olmaması gereken). I http://gskinner.com/RegExr/ üzerinde test zaman ben bir şey benim regex deseni ile yanlış, ama o sözler cezası sanıyorum. Ben regex kullanarak yeni duyuyorum ve yanlış ne olduğunu çözemiyorum. Lütfen Yardım