Позвольте сказать, что у меня есть полное имя: Wan Ahmad Wan Dollah Karmat.Как заменить слова после первых двух слов
И я хочу, чтобы отобразить как: Ван Ахмад WDK
Я попробовал этот код:
preg_replace('/(.)[^\s]+\s?/', '${1}.', strtoupper($_GET['fullname']), 2)
Но выход: Wawan Dollah Karmat
Я хочу, чтобы первые два слова и короче остальных слов. пожалуйста помоги.
Проблема решена, благодаря Casimir et Hippolyte. Конечный код:
preg_replace('~^(?:\s*\S+){1,2}(*SKIP)(*FAIL)|(\S)\S+~', '${1}.', strtoupper($_GET['fullname']))
его вопрос об узорах.
Я пробовал это: preg_replace ('~^\ s * \ S + \ s + \ S + (* SKIP) (* FAIL) | (\ S) \ S ++ ~', '$ {1}.', Strtoupper ($ _GET ['fullname'])) его работа для нескольких слов, но его также заменить, если одно слово. например: Wan и output: W. – user3613026
@ user3613026: Хорошо, я отредактирую шаблон, чтобы справиться с этим случаем. –
спасибо. В любом случае, как я могу определить, будут ли изменения в будущем? есть ли разделитель или что-то в этом роде. поэтому его будет легко редактировать позже. например: первые 3 слова и т. д. – user3613026