簡體   English   中英

可以在轉換字符串的其余部分時php過濾字符串中的單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM