$str = 'Какой-то текст и ещё не много текста.';
echo findReplaceSymbol($str);
function findReplaceSymbol($str, $repl = '-'): string
{
return preg_replace('~\s+~', $repl, $str);
}
$std = function()use(&$rand): stdClass
{
return (object) ['rand' => $rand ?? $rand = rand(1, 5)];
};
var_dump( $std()->rand );
var_dump( $std()->rand );
$std = (object) ['rand' => rand(1, 5)];
var_dump( $std->rand );
var_dump( $std->rand );
$filename = 'test.txt';
$search = 43343443;
$h = @fopen($filename, 'r') or die("Файл '$filename' не найден!");
while (! feof($h)) {
$line = trim(fgets($h));
if ($line == $search) {
echo $line;
}
}
fclose($h);
$str = 'https://example.ru/example/ https://example1.ru/example1 https://example2.ru/example2';
$url = [];
! preg_match_all('~https?://\K[^/]+~', $str, $url) ?: $url = $url[0];
var_dump($url);
$str = '<body>Hello<br><br>FFDGJHIJHFMVDFF.<br>Grtrvfwrwerwerffdsf.<br><br>Active? <br>=> yes <=<br><br <br=""><br>Active? <br>=> no <=<br><br>Lalalalal.<br><br>
</body>';
$arr = preg_match_all('~=>\h\K.+?(?=\h<=)~', $str, $arr) ? $arr[0] : [];
var_dump($arr);
/*
array(2) {
[0]=> string(3) "yes"
[1]=> string(2) "no"
}
*/
$str = '345.45';
$int = (int) str_replace('.', '', $str);
var_dump($int); // int(34545)
$float = preg_replace('~\d+\K(\d{2})$~', '.$1', $int);
$float = (float) number_format(($float * 0.15), 1, '.', '');
var_dump($float); // float(51.8)
$total = numberOfReplacements('Привeт', 'Привет', 'Cyrillic');
echo "Замена киррилицы латиницей: $total симв.<br>";
$total = numberOfReplacements('hаbr', 'habr', 'Latin');
echo "Замена латиницы киррилицей: $total симв.";
function numberOfReplacements(string $input, string $original, string $pattern): int
{
$pattern = preg_quote($pattern, '~');
$match = preg_match_all("~\p{{$pattern}}~u", $input);
$total = mb_strlen($original);
return $total - $match;
}
$filename = 'text.txt';
$total = 0;
$buffer = [];
$h = fopen($filename, 'r');
while (! feof($h)) {
if ($total > 100) {
// var_export($buffer); // Вывести или выполнить обработку каждых 100 строк
$total = 0;
$buffer = [];
}
$buffer[] = fgets($h);
$total++;
}
fclose($h);
if (! empty($buffer)) {
// var_export($buffer); // Вывести или выполнить обработку оставшихся строк
}
$str = '1222542264222';
$str = preg_replace('~(2)\1{2,}~', '$1', $str);
echo $str;
$text_lenght = 3;
$charset = 'qwertyuiopasdfghjklzxcvbnm';
$results = [];
create_words($text_lenght);
sort($results);
foreach ($results as $i => $result) {
echo ++$i . '. ' . $result . '<br>';
}
function create_words(string $width, int $position = 0, string $base_string = ''): void
{
global $text_lenght, $charset, $results;
for ($i = 0, $j = strlen($charset); $i < $j; ++$i) {
if ($position < $width - 1) {
create_words($width, $position + 1, $base_string . $charset[$i]);
}
if (strlen($base_string . $charset[$i]) <= $text_lenght) {
$results[] = $base_string . $charset[$i];
}
}
}
$text = '+380685476574';
echo preg_replace('~\+\d{3}\K(\d{2})(\d{3})(\d{2})(\d{2})~', ' ($1) $2 $3 $4', $text); // +380 (68) 547 65 74