интересна была сама возможность: передать "захваченный текст" из первой части выражения во вторую, в ту которая идет после \G
разбираться - так разбираться... :)
обработать кавычки и прочее при помощи preg_replace_callback - не проблема, так и делаю.
для более сложных случаев - уже DOM разбирать.
$txt = <<<EOFв последовательностях вида src="qqq www ee" и href="fewfwe e fe" и заменяетsrc="jhbgsc sdhjgsj hgj"EOF; $txt = preg_replace('%(?:src|href)="[^ "]*\K |\G(?!\A)[^ "]*\K %i', '_', $txt); echo $txt;
спасибо за пример и за хороший повод покурить доку :)
для лучшего понимания/запоминания усложнил себе задачу: попытался правильно обрабатывать одинарные и двойные кавычки т.е. src="qq ' w w" и src='qq"w w'
небольшой вопрос: а можно ли передать "захваченный текст" из первой части выражения во вторую, в ту которая идет после \G ?
пробовал и обращение по \1 и именнованую группу - пока без результата. не рабочий пример: https://regex101.com/r/rK9vE6/2 в нем второе обращение к \1 не работает.
"в лоб" заменить не получится. вариант с использованием preg_replace_callback
<?php$txt = <<<EOFв последовательностях вида src="qqq www ee" и href="fewfwe e fe" и заменяетsrc="jhbgsc sdhjgsj hgj"EOF; $txt = preg_replace_callback('%(src|href)="(.*?)"%is', 'my_callback', $txt); echo $txt;function my_callback($mm){ return $mm[1].'="'.preg_replace('/ /', '_', $mm[2]).'"';}
результат:
в последовательностях вида src="qqq_www_ee" и href="fewfwe_e_fe" и заменяетsrc="jhbgsc_sdhjgsj_hgj"
Hostiman, небольшой совет: под фришные субдомены лучше используйте домен в международной зоне. Чуть дороже, зато будет немного спокойнее.
Последние пару лет некоторые начали специализироваться на судебных исках. И поставили на поток такой своеобразный бизнес. Топики уже были на форуме.
Авторское право - понятно и правильно, но целенаправленно делать бизнес на судебных исках - нет.
Возможно где-то случайно на фрихосте окажется одна фотка или один копипаст с желтой газетенки(есть одна скандальная).
В случае зоны .ru - вы получите иск на свое имя и дальше после формальностей(дорога у них уже накатана) придется платить штраф. (дроп домена может не помочь) Им не интересны все доводы про фрихост и т.д. им нужны деньги.
В случае международной зоны процесс более сложный и при небольших нарушениях возможно хватит извинений и сноса контента или всего аккаунта с фрихоста.
...у них стало намного больше ссылок, чем было снято. :) (с их подходом к снятию ссылок, очень легко нарваться на хрум)
уже научился... начиная с версии nginx 1.9 (я не тестировал)
статья на хабре: https://habrahabr.ru/post/271467/
вопрос: а на чем проще всего соорудить GeoDNS?
т.е. в зависимости от IP/сети или страны возвращать разные значения для A-записи. нагрузка будет минимальна.
по поиску нашел варианты: powerdns, bind(с патчем/без?), какие-то самописы.
В отказоустойчивости не силен, поправьте если ошибаюсь, но как-то сильно много умных слов. :)
"haproxy, nginx, varnish" - nginx может быть и балансером и кешем. Зачем этот винегрет?
"keepalived, heartbeat" - как я понимаю это работает только в одной подсети, т.е. разнести на несколько ДЦ геморой еще тот будет.
Забавно... судя по их логике, любой из купивших и забивших сваи ООО «ГлавФундамент» может попросить их достать все сваи из земли, а при отказе бежать в суд. 😂
Еще никто не начал составлять блеклист неадекватов, скандалистов и любителей шантажа?
точно также как и optipng, только опции другие.
find . -name "*.png" -exec pngquant {} \;
есть еще pngquant.
ее можно поставить из репозитория еpel:
yum install pngquant