<?php
// note - this does NOT do what you want - but I think does what you said
// perhaps you can modify it to do what you want - or we can help if you can
// provide a bit more about the data you need to update
$string_of_text = "We would like to welcome Adam Smith-jones to our 3rd, 'I am addicted to stackoverflow-posting' event.";
// both Smith-Jones and Stackoverflow-Posting should result
// may be wrong
$words = explode(' ',$string_of_text);
foreach($words as $index=>$word) {
if(false !== strpos('-',$word)) {
$parts = explode('-',$word);
$newWords = array;
foreach($parts as $wordIndex=>$part) {
$newWords[] = ucwords($part);
}
$words[$index] = implode('-',$newWords);
}
}
$words = implode(' ',$words);
?>
Algo parecido a esto - no probado - a los efectos de hacer seguro de entender la pregunta.
haciendo suposiciones importantes sobre los nombres. http://old.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ –
artículo muy lindo, pero el autor es un desarrollador de software y no un administrador de db que ha visto muchos casos de la vida real . El DB que usa mi cliente tiene numerosas personas con el problema anterior, puede que no sea Smith-Jones, sino más bien Salafi-Verjastani – MonOve
Está haciendo grandes suposiciones sobre los nombres. http://cowbelljs.blogspot.com/2012/01/whats-in-name-database.html – Incognito