[英]Can php filter words in a string while converting the remainder of the string
我在表單中使用此功能來處理文本轉換。 這是一個內部(工作場所)Web表單。 它轉換
主街/大街 ->主街/大街
易於。 #a1->公寓 #A1
1234 w。 Main St(兒童公園)-> 1234 W. Main St(兒童公園)
史密斯·奧洛克->史密斯·奧洛克
mcbride-macgregor-> McBride-MacGregor
macias-machado-> MacIas-MacHado。
因此,我的問題!!
如何包含不應該轉換的名稱或單詞的過濾器列表,例如Macias,Macayo,Machado,Mack,machine等?
function uc_names($name_text) {
$name_text = strtolower($name_text);
$name_text = join("#", array_map('ucwords', explode("#", $name_text)));
$name_text = join("/", array_map('ucwords', explode("/", $name_text)));
$name_text = join("(", array_map('ucwords', explode("(", $name_text)));
$name_text = join("'", array_map('ucwords', explode("'", $name_text)));
$name_text = join("-", array_map('ucwords', explode("-", $name_text)));
$name_text = join("Mc", array_map('ucwords', explode("Mc", $name_text)));
$name_text = join("Mac", array_map('ucwords', explode("Mac", $name_text)));
return trim($name_text);
}
這樣的事情怎么樣?
$bar = 'HELLO WORLD!';
$bar = ucwords($bar); // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!
還是這個方向的東西?
function ucsmart($text)
{
return preg_replace('/([^a-z]|^)([a-z])/e', '"$1".strtoupper("$2")', strtolower($text));
}
我還沒有測試第二個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.