Вы можете использовать внешний цикл для посещения символов, и если найден непробельный символ, создайте новую строку с заглавной буквой в этой позиции.
function wave(string) {
var result = [],
i;
for (i = 0; i < string.length; i++) {
if (string[i] === ' ') continue;
result.push(Array.from(string, (c, j) => i === j ? c.toUpperCase() : c).join(''));
}
return result;
}
console.log(wave("hello")); // ["Hello", "hEllo", "heLlo", "helLo", "hellO"]
console.log(wave(" h e y ")); // [" H e y ", " h E y ", " h e Y "]
console.log(wave("")); // []
.as-console-wrapper { max-height: 100% !important; top: 0; }
Благодаря приведенному выше ответу я обнаружил, что вы действительно можете вызывать COM из php, вот мой первый набросок символической ссылки () замена:
if (! function_exists('symlink')) {
function symlink($target, $link) {
if (! substr($link, -4, '.lnk'))
$link .= '.lnk';
$shell = new COM('WScript.Shell');
$shortcut = $shell->createshortcut($link);
$shortcut->targetpath = $target;
$shortcut->save();
}
}
Существует поддержка точек соединения (аналогично символическим ссылкам UNIX) до Vista.
Вам нужен связанный инструмент
из набора ресурсов Windows (бесплатная загрузка).
Ярлыки - это просто файлы. Вы можете создавать файлы ярлыков с помощью COM WScript API. Пример кода делает это с помощью Python. Если существует библиотека для PHP, которая позволяет вам взаимодействовать с COM, вы должны иметь возможность сделать что-то подобное.
import win32com.client
import winshell
userDesktop = winshell.desktop()
shell = win32com.client.Dispatch('WScript.Shell')
shortcut = shell.CreateShortCut(userDesktop + '\\Zimbra Webmail.lnk')
shortcut.Targetpath = r'C:\Program Files\Mozilla Firefox\firefox.exe'
shortcut.Arguments = 'http://mysite.com/auth/preauth.php'
shortcut.WorkingDirectory = r'C:\Program Files\Mozilla Firefox'
shortcut.save()
Для записи, точки соединения в NTFS действительно только для каталогов. Я добился большого успеха, используя linkd.exe для создания виртуальной файловой системы, но есть несколько вещей, о которых нужно знать:
Приветствую вас за полезные сообщения о создании файлов .lnk, именно то, что я хотел ...