...register("category")
это не магическое заклинание. Это вызов функции register
с параметром "category"
, получение в ответ объекта, и передача этого объекта в props
компонента. Объект там скорее всего примерного вида: {
value: <значение из внутреннего state для "category">,
onChange: (event) => <значение из внутреннего state для "category"> = event.target.value
}
const { onChange: categoryRegisteredChange, ...categoryRegistered } = register("category");
<Select
options={options}
placeholder="1"
onClick={categoryRegisteredChange} // или на что там у тебя завязано изменение
{...categoryRegistered}
/>
.btn
которому ты у себя определил свои стили (ширину и фиолетовый бг)..btn:not(.класс-textarea *)
. incremantalReplacer('"Статус"', '"Статус-__NUM__"', 1);
function incremantalReplacer(str, replacer, i = 0) {
if (typeof replacer === 'string') {
const template = replacer;
replacer = () => template.replace(/__NUM__/g, i++);
}
const style = {
border: '1px solid',
padding: '10px',
backgroundColor: '#000',
color: '#bf0',
cursor: 'pointer',
position: 'absolute',
top: '50%',
left: '50%',
transform: 'translate(-50%, -50%)',
padding: '10px 20px',
zIndex: '100500',
};
const fileInput = document.createElement('input');
fileInput.type = 'file';
Object.assign(fileInput.style, style);
document.body.appendChild(fileInput);
fileInput.onchange = () => {
const file = fileInput.files[0];
if (!file) return;
const reader = new FileReader();
reader.onload = () => {
fileInput.remove();
const downloadButton = document.createElement('button');
downloadButton.textContent = `Download`;
Object.assign(downloadButton.style, style);
document.body.appendChild(downloadButton);
downloadButton.onclick = () => {
const blob = new Blob([reader.result.replaceAll(str, replacer)], file);
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = file.name;
a.click();
URL.revokeObjectURL(url);
downloadButton.remove();
a.remove();
};
};
reader.readAsText(file);
};
}
©
.<?php
function charToUnicodeCodePoint($char) {
return mb_ord($char, 'UTF-8');
}
function charToUnicodeRegexp($char) {
return '\\x{' . str_pad(dechex(charToUnicodeCodePoint($char)), 4, '0', STR_PAD_LEFT) . '}';
}
function charToUnicodeHTML($char) {
return '&#' . charToUnicodeCodePoint($char) . ';';
}
$koi8r = array_map('charToUnicodeRegexp', mb_convert_encoding(array_map('chr', range(0, 255)), 'UTF-8', 'koi8r'));
function convertRestToHTMLEntities($inputString, $symbolsToPreserve) {
$pattern = '/[^' . implode('', $symbolsToPreserve) . ']/u';
return preg_replace_callback($pattern, function ($matches) {
return charToUnicodeHTML($matches[0]);
}, $inputString);
}
$input = "Привет ☎";
$converted = convertRestToHTMLEntities($input, $koi8r); // Привет ☎
echo $converted;
// ... mb_convert_encoding($converted, 'koi8r', 'UTF-8');