<?php
@ini_set('pcre.backtrack_limit', 5000000);
echo ini_get ('pcre.backtrack_limit');
echo "\r\n";
Могу и больше:
а теперь поставьте
@ini_set('pcre.jit',0);@ini_set('pcre.backtrack_limit', 90000000);// BY DEFAULT IS 100000@ini_set('pcre.recursion_limit', 90000000);// BY DEFAULT IS 100000
5000000 оказалось мало
А давайте ваш тест поменяем, чтобы для каждой функции будет свой текст и мы уберём в конце дублирование функции в конце.
function get_time()
{
$t=microtime();
$t=explode(' ',$t);
$t=(float)$t[1]+(float)$t[0];
return $t;
}
$thisoutput=$thisoutput1=$thisoutput2=<<<EOF
</a></span></span><span class="tm-article-snippet__datetime-published"><time datetime="2021-07-17T11:55:11.000Z" title="2021-07-17, 14:55">сегодня в 14:55</time></span></div><!----></div><h1 lang="ru" class="tm-article-snippet__title tm-article-snippet__title_h1"><span>Google добавляет в Chrome режим HTTPS-First</span></h1><div class="tm-article-snippet__hubs"><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/infosecurity/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Информационная безопасность</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/google_chrome/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Google Chrome</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/dns/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>DNS</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/browser_extensions/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Расширения для браузеров</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/browsers/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Браузеры</span></a></span></div><div class="tm-article-snippet__labels"><!----></div><!----><!----></div></div><!----><div lang="ru" class="tm-article-body"><div id="post-content-body" class="article-formatted-body article-formatted-body_version-2"><div xmlns="http://www.w3.org/1999/xhtml"><p>Google <a href="https://blog.chromium.org/2021/07/increasing-https-adoption.html" rel="noopener noreferrer nofollow">собирается повысить</a> безопасность пользователей Chrome с помощью новой функции, которая позволит автоматически обновлять веб-страницы до HTTPS. Режим HTTPS-First напоминает режим DNS-over-HTTPS в Firefox.</p><figure class="full-width "><img src="/img/image-loader.svg" alt="blog.chromium.org" title="blog.chromium.org" height="494" data-src="https://habrastorage.org/getpro/habr/upload_files/d12/208/e96/d12208e961ec1c4ddee464a2aca67cd5.gif" data-width="660"/><figcaption>blog.chromium.org</figcaption></figure><p>Как заявили в Google, с внедрением новой функции злоумышленники не смогут получить доступ к данным, передаваемым между веб-браузером и сервером, на котором размещен веб-сайт, поскольку конфиденциальная информация и учетные данные будут зашифрованы.</p><p>На данный момент примерно 90 % страниц в Chrome загружаются через HTTPS.</p><p>Однако в Chrome 94 браузер будет пытаться обновить все загружаемые страницы до HTTPS и начнет предупреждать пользователей при переходе на страницу, не поддерживающую данный тип шифрования.</p><p>«Основываясь на отзывах, мы рассмотрим возможность использования режима HTTPS-First по умолчанию для всех пользователей в будущем», — сообщают в Google. Там отмечают, что Mozilla планирует реализовать то же самое в Firefox.</p><p>Режим HTTPS-First внесет изменения в экран блокировки, который Chrome обычно отображает, когда сайт загружается по HTTPS. В качестве эксперимента Chrome 93 заменит значок замка на «более нейтральный», но индикатор «Небезопасно» будет по-прежнему отображаться на веб-сайтах, не поддерживающих HTTPS.</p><p>Даже в режиме HTTPS-First Chrome продолжит поддерживать HTTP-соединения, но наложит ограничения на загрузку определенных ресурсов, чтобы гарантировать защиту пользователей.</p><p>В мае в версии Chrome 83 <a href="https://habr.com/ru/news/t/502936/" rel="noopener noreferrer nofollow">начали развертывать</a> режим DNS-over-HTTPS. Браузер по умолчанию использует DoH для провайдера DNS, установленного в систему, при условии, что он поддерживает этот протокол. Если во время поиска будут обнаруживаться проблемы, то Chrome переключается на незашифрованный DNS. При этом браузер не использует DoH, если в системах Windows активен родительский контроль или определенные корпоративные политики. В апреле Chrome <a href="https://habr.com/ru/news/t/550210/" rel="noopener noreferrer nofollow">начал поддерживать</a> DoH в версии для Linux.</p><p>Microsoft также <a href="https://habr.com/ru/news/t/565390/" rel="noopener noreferrer nofollow">добавила</a> в ОС Windows 11 функцию DNS-over-HTTPS. </p></div></div><!----><!----></div><div class="tm-article-body__tags"><div class="tm-article-body__tags-links"><span class="tm-article-body__tags-title">Теги:</span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bgoogle%20chrome%5D" class="tm-article-body__tags-item-link">google chrome</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bdns-over-https%5D" class="tm-article-body__tags-item-link">dns-over-https</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bdoh%5D" class="tm-article-body__tags-item-link">doh</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bhttps%5D" class="tm-article-body__tags-item-link">https</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5B%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%5D" class="tm-article-body__tags-item-link">шифрование данных</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5B%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%5D" class="tm-article-body__tags-item-link">трафик</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bhttp%5D" class="tm-article-body__tags-item-link">http</a></span></div><div class="tm-article-body__tags-links"><span class="tm-article-body__tags-title">Хабы:</span><span class="tm-article-body__tags-item"><a href="/ru/hub/infosecurity/" class="tm-article-body__tags-item-link">
Информационная безопасность
</a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/google_chrome/" class="tm-article-body__tags-item-link">
Google Chrome
</a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/dns/" class="tm-article-body__tags-item-link">
DNS
</a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/browser_extensions/" class="tm-article-body__tags-item-link">
Расширения для браузеров
</a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/browsers/" class="tm-article-body__tags-item-link">
Браузеры
</a></span></div></div></article><div class="tm-article__icons-wrapper"><div class="tm-data-icons tm-page-article__counters-panel"><div class="tm-article-rating tm-data-icons__item"><div class="tm-votes-meter tm-article-rating__votes-switcher"><svg height="16" width="16" class="tm-svg-img tm-votes-meter__icon tm-votes-meter__icon_medium"><title>Всего голосов 2: ^0 и v2</title><use xlink:href="/img/megazord-v24.4c3730a5.svg#counter-rating"></use></svg><span title="Всего голосов 2: ^0 и v2" class="tm-votes-meter__value tm-votes-meter__value_negative tm-votes-meter__value_medium">-2</span></div><DIV class="v-portal" style="display:none;"></DIV></div><!----><span title="Количество просмотров" class="tm-icon-counter tm-data-icons__item"><svg height="16" width="16" class="tm-svg-img tm-icon-counter__icon"><title>Просмотры</title><use xlink:href="/img/megazord-v24.4c3730a5.svg#counter-views"></use></svg><span class="tm-icon-counter__value">1.1K</span></span><button type="button" class="bookmarks-button tm-data-icons__item"><span title="Добавить в закладки" class="tm-svg-icon__wrapper bookmarks-button__icon"><svg height="16" width="16" class="tm-svg-img tm-svg-icon"><title>Добавить в закладки</title><use xlink:href="/img/megazord-v24.4c3730a5.svg#counter-favorite"></use></svg></span><span title="Количество пользователей, добавивших публикацию в закладки" class="bookmarks-button__counter">
0
</span></button><!----><div title="Поделиться" class="tm-sharing tm-data-icons__item"><button type="button" class="tm-sharing__button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="tm-sharing__icon"><path fill="currentColor" d="M10.33.275l9.047 7.572a.2.2 0 010 .306l-9.048 7.572a.2.2 0 01-.328-.153V11c-8 0-9.94 6-9.94 6S-1 5 10 5V.428a.2.2 0 01.328-.153z"></path></svg></button><!----></div><DIV class="v-portal" style="display:none;"></DIV></div><!----></div></div><!----><div class="tm-page-article__additional-blocks"><!----><section class="tm-block tm-block_spacing-bottom"><!----><div class="tm-block__body"><div class="tm-article-author tm-page-article__author"><!----><div data-async-called="true" class="tm-user-card tm-article-author__user-card tm-user-card_variant-two-column"><div class="tm-user-card__info-container"><div class="tm-user-card__header"><div class="tm-user-card__header-data"><a href="/ru/users/maybe_elf/" class="tm-user-card__userpic tm-user-card__userpic_size-40"><div class="tm-entity-image"><img alt="" src="//habrastorage.org/getpro/habr/avatars/592/11d/4bc/59211d4bcd7f9afdadaef515b2b0706d.jpg" class="tm-entity-image__pic"></div></a><div class="tm-user-card__meta"><div title=" 399 голосов " class="tm-karma tm-user-card__karma"><div class="tm-karma__votes tm-karma__votes_positive">
105
</div><div class="tm-karma__text">
EOF;
$replace=$replace_str='<script>window.__INITIAL_STATE__={"adblock":{"hasAcceptableAdsFilter":false,"hasAdblock":false},"articlesList":{"articlesList":{"566102":{"id":"566102","timePublished":"2021-07-17T14:00:02+00:00","isCorporative":true,"lang":"ru","titleHtml":"Альтернативы Redux в 2021 году","editorVersion":"1.0","postType":"article","postLabels":[{"type":"translation","data":{"originalAuthorName":"Kristofer Selbekk","originalUrl":"https:\u002F\u002Fblog.openreplay.com\u002Fredux-alternatives-in-2021"}}],"author":{"id":"1220775","alias":"ru_vds","fullname":null,"avatarUrl":"\u002F\u002Fhabrastorage.org\u002Fgetpro\u002Fhabr\u002Favatars\u002Fe36\u002F812\u002Fd3d\u002Fe36812d3de38eb3d479d7a13228717ef.png","speciality":"Пользователь"},"statistics":{"commentsCount":0,"favoritesCount":1,"readingCount":102,"score":3,"votesCount":3},"hubs":[{"relatedData":{"isSubscribed":false},"id":"19791","alias":"ruvds","type":"corporative","title":"Блог компании RUVDS.com","titleHtml":"Блог компании RUVDS.com"},{"relatedData":{"isSubscribed":true},"id":"91","alias":"webdev","type":"collective","title":"Разработка веб-сайтов","titleHtml":"Разработка веб-сайтов"},{"relatedData":{"isSubscribed":true},"id":"357","alias":"javascript","type":"collective","title":"JavaScript","titleHtml":"JavaScript"},{"relatedData":{"isSubscribed":true},"id":"19327","alias":"reactjs","type":"collective","title":"ReactJS","titleHtml":"ReactJS"}]';
// экранируем замену, взято из FDE Grabber
$replace = preg_replace('#\$#', '\\\$', $replace);
$replace = preg_replace('#\\\(?=\d)#', '\\\\\\', $replace);
// /экранируем замену, взято из FDE Grabber
echo 'str_replace:';
$start = get_time();
for ($i=0; $i<25000; $i++){
$thisoutput=str_replace('<div class="tm-karma__text">',$replace_str,$thisoutput.$i);
echo "\t".(get_time()-$start)."\r\n";
echo 'preg_replace:';
$thisoutput1=preg_replace('@<div class="tm-karma__text">@',$replace,$thisoutput1.$i);
echo 'preg_replace i:';
$thisoutput2=preg_replace('@<div class="tm-karma__text">@i',$replace,$thisoutput2.$i);
PHP 8.1 на реальной машине:
вы написали ещё больший бред, потому, что у вас размножается значение $thisoutput2 / $thisoutput1 И с определённого момента вступает в силу pcre.backtrack_limit и preg функции уже начинают выдавать бредовый результат, тогда уж скорректируйте и поставьте, например в начале скрипта
я тестировал на 8.2 и на 5.3.9, везде str_replace быстрее, и это очевидно, что так и должно быть всегда, а вы в своём "тесте" долбите 25 тысяч раз не изменяющуюся переменную, очевидно, что пхп где-то проверяет не изменилось ли её значение, если не изменилось, то и выдаёт закэшированный результат, возможно и не пхп, а процессор со спекулятивным исполнением это кэширует, в реальной работе, как вы выразились, str_replace тоже будет быстрее, потому что в реальной программе не долбят функцию 25 тысяч раз, передавая в неё не изменяющуюся переменную/значение
на вашем месте я бы просто признал свою ошибку и не вставал в позу, это плохое качество - не уметь признавать ошибки
стало интересно и решил перепроверить, оказалось, что ваш тест поставлен некорректно и даёт искажённые результаты
я модифицировал ваш скрипт и получил результат, где, как и ожидается выигрывает str_replace, в каждой итерации текст надо изменять, чтобы было честно, для этого, я просто конкатенирую на каждой итерации значение счётчика к тексту:
<?phpfunction get_time(){ $t=microtime(); $t=explode(' ',$t); $t=(float)$t[1]+(float)$t[0]; return $t;}$thisoutput=<<<EOF </a></span></span><span class="tm-article-snippet__datetime-published"><time datetime="2021-07-17T11:55:11.000Z" title="2021-07-17, 14:55">сегодня в 14:55</time></span></div><!----></div><h1 lang="ru" class="tm-article-snippet__title tm-article-snippet__title_h1"><span>Google добавляет в Chrome режим HTTPS-First</span></h1><div class="tm-article-snippet__hubs"><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/infosecurity/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Информационная безопасность</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/google_chrome/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Google Chrome</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/dns/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>DNS</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/browser_extensions/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Расширения для браузеров</span></a></span><span class="tm-article-snippet__hubs-item"><a href="/ru/hub/browsers/" class="tm-article-snippet__hubs-item-link tm-article-snippet__hubs-item-link_subscribed"><span>Браузеры</span></a></span></div><div class="tm-article-snippet__labels"><!----></div><!----><!----></div></div><!----><div lang="ru" class="tm-article-body"><div id="post-content-body" class="article-formatted-body article-formatted-body_version-2"><div xmlns="http://www.w3.org/1999/xhtml"><p>Google <a href="https://blog.chromium.org/2021/07/increasing-https-adoption.html" rel="noopener noreferrer nofollow">собирается повысить</a> безопасность пользователей Chrome с помощью новой функции, которая позволит автоматически обновлять веб-страницы до HTTPS. Режим HTTPS-First напоминает режим DNS-over-HTTPS в Firefox.</p><figure class="full-width "><img src="/img/image-loader.svg" alt="blog.chromium.org" title="blog.chromium.org" height="494" data-src="https://habrastorage.org/getpro/habr/upload_files/d12/208/e96/d12208e961ec1c4ddee464a2aca67cd5.gif" data-width="660"/><figcaption>blog.chromium.org</figcaption></figure><p>Как заявили в Google, с внедрением новой функции злоумышленники не смогут получить доступ к данным, передаваемым между веб-браузером и сервером, на котором размещен веб-сайт, поскольку конфиденциальная информация и учетные данные будут зашифрованы.</p><p>На данный момент примерно 90 % страниц в Chrome загружаются через HTTPS.</p><p>Однако в Chrome 94 браузер будет пытаться обновить все загружаемые страницы до HTTPS и начнет предупреждать пользователей при переходе на страницу, не поддерживающую данный тип шифрования.</p><p>«Основываясь на отзывах, мы рассмотрим возможность использования режима HTTPS-First по умолчанию для всех пользователей в будущем», — сообщают в Google. Там отмечают, что Mozilla планирует реализовать то же самое в Firefox.</p><p>Режим HTTPS-First внесет изменения в экран блокировки, который Chrome обычно отображает, когда сайт загружается по HTTPS. В качестве эксперимента Chrome 93 заменит значок замка на «более нейтральный», но индикатор «Небезопасно» будет по-прежнему отображаться на веб-сайтах, не поддерживающих HTTPS.</p><p>Даже в режиме HTTPS-First Chrome продолжит поддерживать HTTP-соединения, но наложит ограничения на загрузку определенных ресурсов, чтобы гарантировать защиту пользователей.</p><p>В мае в версии Chrome 83 <a href="https://habr.com/ru/news/t/502936/" rel="noopener noreferrer nofollow">начали развертывать</a> режим DNS-over-HTTPS. Браузер по умолчанию использует DoH для провайдера DNS, установленного в систему, при условии, что он поддерживает этот протокол. Если во время поиска будут обнаруживаться проблемы, то Chrome переключается на незашифрованный DNS. При этом браузер не использует DoH, если в системах Windows активен родительский контроль или определенные корпоративные политики. В апреле Chrome <a href="https://habr.com/ru/news/t/550210/" rel="noopener noreferrer nofollow">начал поддерживать</a> DoH в версии для Linux.</p><p>Microsoft также <a href="https://habr.com/ru/news/t/565390/" rel="noopener noreferrer nofollow">добавила</a> в ОС Windows 11 функцию DNS-over-HTTPS. </p></div></div><!----><!----></div><div class="tm-article-body__tags"><div class="tm-article-body__tags-links"><span class="tm-article-body__tags-title">Теги:</span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bgoogle%20chrome%5D" class="tm-article-body__tags-item-link">google chrome</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bdns-over-https%5D" class="tm-article-body__tags-item-link">dns-over-https</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bdoh%5D" class="tm-article-body__tags-item-link">doh</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bhttps%5D" class="tm-article-body__tags-item-link">https</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5B%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%5D" class="tm-article-body__tags-item-link">шифрование данных</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5B%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%5D" class="tm-article-body__tags-item-link">трафик</a></span><span class="tm-article-body__tags-item"><a href="/ru/search/?target_type=posts&order=relevance&q=%5Bhttp%5D" class="tm-article-body__tags-item-link">http</a></span></div><div class="tm-article-body__tags-links"><span class="tm-article-body__tags-title">Хабы:</span><span class="tm-article-body__tags-item"><a href="/ru/hub/infosecurity/" class="tm-article-body__tags-item-link"> Информационная безопасность </a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/google_chrome/" class="tm-article-body__tags-item-link"> Google Chrome </a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/dns/" class="tm-article-body__tags-item-link"> DNS </a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/browser_extensions/" class="tm-article-body__tags-item-link"> Расширения для браузеров </a></span><span class="tm-article-body__tags-item"><a href="/ru/hub/browsers/" class="tm-article-body__tags-item-link"> Браузеры </a></span></div></div></article><div class="tm-article__icons-wrapper"><div class="tm-data-icons tm-page-article__counters-panel"><div class="tm-article-rating tm-data-icons__item"><div class="tm-votes-meter tm-article-rating__votes-switcher"><svg height="16" width="16" class="tm-svg-img tm-votes-meter__icon tm-votes-meter__icon_medium"><title>Всего голосов 2: ^0 и v2</title><use xlink:href="/img/megazord-v24.4c3730a5.svg#counter-rating"></use></svg><span title="Всего голосов 2: ^0 и v2" class="tm-votes-meter__value tm-votes-meter__value_negative tm-votes-meter__value_medium">-2</span></div><DIV class="v-portal" style="display:none;"></DIV></div><!----><span title="Количество просмотров" class="tm-icon-counter tm-data-icons__item"><svg height="16" width="16" class="tm-svg-img tm-icon-counter__icon"><title>Просмотры</title><use xlink:href="/img/megazord-v24.4c3730a5.svg#counter-views"></use></svg><span class="tm-icon-counter__value">1.1K</span></span><button type="button" class="bookmarks-button tm-data-icons__item"><span title="Добавить в закладки" class="tm-svg-icon__wrapper bookmarks-button__icon"><svg height="16" width="16" class="tm-svg-img tm-svg-icon"><title>Добавить в закладки</title><use xlink:href="/img/megazord-v24.4c3730a5.svg#counter-favorite"></use></svg></span><span title="Количество пользователей, добавивших публикацию в закладки" class="bookmarks-button__counter"> 0 </span></button><!----><div title="Поделиться" class="tm-sharing tm-data-icons__item"><button type="button" class="tm-sharing__button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="tm-sharing__icon"><path fill="currentColor" d="M10.33.275l9.047 7.572a.2.2 0 010 .306l-9.048 7.572a.2.2 0 01-.328-.153V11c-8 0-9.94 6-9.94 6S-1 5 10 5V.428a.2.2 0 01.328-.153z"></path></svg></button><!----></div><DIV class="v-portal" style="display:none;"></DIV></div><!----></div></div><!----><div class="tm-page-article__additional-blocks"><!----><section class="tm-block tm-block_spacing-bottom"><!----><div class="tm-block__body"><div class="tm-article-author tm-page-article__author"><!----><div data-async-called="true" class="tm-user-card tm-article-author__user-card tm-user-card_variant-two-column"><div class="tm-user-card__info-container"><div class="tm-user-card__header"><div class="tm-user-card__header-data"><a href="/ru/users/maybe_elf/" class="tm-user-card__userpic tm-user-card__userpic_size-40"><div class="tm-entity-image"><img alt="" src="//habrastorage.org/getpro/habr/avatars/592/11d/4bc/59211d4bcd7f9afdadaef515b2b0706d.jpg" class="tm-entity-image__pic"></div></a><div class="tm-user-card__meta"><div title=" 399 голосов " class="tm-karma tm-user-card__karma"><div class="tm-karma__votes tm-karma__votes_positive"> 105 </div><div class="tm-karma__text">EOF;$replace=$replace_str='<script>window.__INITIAL_STATE__={"adblock":{"hasAcceptableAdsFilter":false,"hasAdblock":false},"articlesList":{"articlesList":{"566102":{"id":"566102","timePublished":"2021-07-17T14:00:02+00:00","isCorporative":true,"lang":"ru","titleHtml":"Альтернативы Redux в 2021 году","editorVersion":"1.0","postType":"article","postLabels":[{"type":"translation","data":{"originalAuthorName":"Kristofer Selbekk","originalUrl":"https:\u002F\u002Fblog.openreplay.com\u002Fredux-alternatives-in-2021"}}],"author":{"id":"1220775","alias":"ru_vds","fullname":null,"avatarUrl":"\u002F\u002Fhabrastorage.org\u002Fgetpro\u002Fhabr\u002Favatars\u002Fe36\u002F812\u002Fd3d\u002Fe36812d3de38eb3d479d7a13228717ef.png","speciality":"Пользователь"},"statistics":{"commentsCount":0,"favoritesCount":1,"readingCount":102,"score":3,"votesCount":3},"hubs":[{"relatedData":{"isSubscribed":false},"id":"19791","alias":"ruvds","type":"corporative","title":"Блог компании RUVDS.com","titleHtml":"Блог компании RUVDS.com"},{"relatedData":{"isSubscribed":true},"id":"91","alias":"webdev","type":"collective","title":"Разработка веб-сайтов","titleHtml":"Разработка веб-сайтов"},{"relatedData":{"isSubscribed":true},"id":"357","alias":"javascript","type":"collective","title":"JavaScript","titleHtml":"JavaScript"},{"relatedData":{"isSubscribed":true},"id":"19327","alias":"reactjs","type":"collective","title":"ReactJS","titleHtml":"ReactJS"}]';// экранируем замену, взято из FDE Grabber$replace = preg_replace('#\$#', '\\\$', $replace);$replace = preg_replace('#\\\(?=\d)#', '\\\\\\', $replace);// /экранируем замену, взято из FDE Grabberecho 'str_replace:';$start = get_time();for ($i=0; $i<25000; $i++){ $thisoutput2=str_replace('<div class="tm-karma__text">',$replace_str,$thisoutput.$i);}echo "\t".(get_time()-$start)."\r\n";echo 'preg_replace:';$start = get_time();for ($i=0; $i<25000; $i++){ $thisoutput2=preg_replace('@<div class="tm-karma__text">@',$replace,$thisoutput.$i);}echo "\t".(get_time()-$start)."\r\n";echo 'preg_replace i:';$start = get_time();for ($i=0; $i<25000; $i++){ $thisoutput2=preg_replace('@<div class="tm-karma__text">@i',$replace,$thisoutput.$i);}echo "\t".(get_time()-$start)."\r\n";echo 'str_replace:';$start = get_time();for ($i=0; $i<25000; $i++){ $thisoutput2=str_replace('<div class="tm-karma__text">',$replace_str,$thisoutput.$i); }echo "\t".(get_time()-$start)."\r\n";
результат вот такой:
str_replace: 0.13397407531738preg_replace: 0.22444486618042preg_replace i: 0.24331188201904str_replace: 0.13409495353699
а у вас какой банк стоит для выплат? тоже, как и у ТС райффайзен? по вашим постам подозреваю, что да, можно сделать вывод, что райф после американского аудита стал плотнее сотрудничать с США, вот свежая новость:
Райффайзен Банк изменит общие условия обслуживания, дополнив их пунктами об односторонней блокировке клиентов, новая редакция вступает в силу 7 марта, сообщает Telegram-канал MarketOverview.Помимо блокировки карты, Райффайзен Банк также будет ограничивать доступ к интернет-банку и отказывать в совершении операции в тех случаях, если клиент: нарушает законодательство РФ, противоречит внутренним правилам Райффайзен Банка и Raiffeisen Bank International (RBI); проводит нехарактерную операцию (тогда блокируется карта, доступным остается интернет-банк); не предоставляет документы по запросу от банка по ФЗ-115.Банк также снимает с себя ответственность за невыполнение обязательств по переводам и платежам «в случаях, обусловленных обстоятельствами непреодолимой силы». К ним относятся санкции иностранных государств в отношении РФ и российских физических и юридических лиц.Кроме того, указывается, что уведомления от банка на российские номера будут приходить от абонента «Raiffeisen», на иностранные номера — с длинного или короткого номера. Также в лимите на снятие наличных денег теперь учитываются квазикэш-операции, в квазикэш-операции добавлены СБП-стягивания (Me2Me) Pull и переводы по номеру телефона с кредитных карт.
https://www.banki.ru/news/lenta/?id=10981095
А что вы все так напали на человека, в каких-то случаях действительно на голом html выгоднее доры всякие делать, меньше нагрузки на сервер, не надо обновлять движки, закрывать их дыры, сколько на одном и том же сервере можно разместить г****сайтов на голом html и сколько на вордпрессе? Я думаю, что разница в десятки, а может быть и в сотни раз, так что, когда не надо динамически обновлять инфу на сайте, то и голый html подойдёт, но таких случаев реально мало, в основном это под доры, небольшие статейники, представительские сайты и лендинги (без формы обратной связи), я например так и делал, генерил с помощью пхп+шаблонизатра статические сайты на html, и это работает
Поэтому, я бы сказал так, вручную на голом html делать сайты неудобно и долго, и они будут сильно ограничены в возможностях, нужен в любом случае инструмент для генерации страниц
откуда новость? что-то я не нагуглил её, но я думаю, что речь пока идёт только об исходящих переводах, интересно, что недавно итак уже повышали этот порог (10 000 долларов), короче дальше-больше, и к концу года мы можем остаться вообще без вариантов для получения денег с адсенса, только через родственников или знакомых из других стран, я например попросил открыть брата, живущего в Украине аккаунт в адсенсе, там проблем с получением нет, но вот как потом переводить оттуда сюда, я пока не знаю
для передачи финансовой информации при переводах средств на территории России должны использоваться только российские сервисы, говорится на сайте цб
это только для переводов внутри страны, свифт итак уже давно не подходит для переводов внутри страны
Интересное кино с выплатами.
Предлагаю новую форму работы 😊:
Будет, как у вебмастеров. И ныть никто не будет. И оправдывать ничего не надо. И компания возможно поймет, каково это в долг.
А то вроде бы, как средства на счета РСЯ поступают в режиме нонстоп, а вот выплатить вебмастерам - это уже похоже на одолжение последним. Увы.
в этом случае вебмастера будут ещё дольше ждать, не подсказывайте им такие идеи, куда лучше просто забастовку устроить, отключить одновременно всем их рекламу на день, чтобы поняли, что так нельзя с партнёрами