Вернуться




Регулярное выражение с атрибутами шорткодов Wordpress



У нас есть следующие шорткоды: 

[show_portfolio get="yachts" for="sale" in="europe" sort="length_overall" by="asc" page="1" perpage="18" theme="active-71" ref="http://replaceme.com" debug="true" engine="engine.com"]

 

[get_portfolio get="yachts" for="sale" in="europe" sort="length_overall" by="asc" page="1" perpage="18" theme="active-71" ref="http://replaceme.com" debug="true" engine="engine.com"]

 

Надо заменить http://replaceme.com на http://targetadress.com.

Замена следующим регексом не является хорошей идеей, потому что он также меняет теги href ref="[^"\r\n]*"

https://regex101.com/r/q1uumb/1/

Я хотел бы узнать, может ли кто-нибудь помочь мне заменить http://replaceme.com на http://targetadress.com внутри тегов (show|get)_portfolio.

Я не смог найти способ выполнить следующий regex \[(show|get)_portfolio ref=""(.+)"].

 

Ответ 1

Можно использовать:

$repl = preg_replace(

   '\[(?:show|get)_portfolio\s+[^]]* ref="\Khttp://replaceme\.com"',

   'http://targetadress.com"',

   $str);

 

Детали RegEx:

  • \[: cопоставить c [

  • (?:show|get)_portfolio: cоответствие для get_portfolioилиshow_portfolio

  • \s+: соответствие для 1+ пробелов

  • [^]]*\s+ref=": соответствует 0 или более  ] символов, за которыми следует 1+ пробелов, за которым следует ref=

  • \K: сбросить информацию о выборке

  • http://replaceme\.com": L выборка  http://replaceme\.com"



Если вам понравилась эта статья поделитесь ею с друзьями, тем самым вы помогаете нам развиваться и добавлять всё больше интересного и полезного контента!




Cхожие статьи





Какой хостинг выбрать для сайта

Какой хостинг выбрать для сайта

Для беспроблемного функционирования сайта на просторах интернета необходимо ...

15 Февраля 2021    Web

Как и на чём лучше писать сайты?

Как и на чём лучше писать сайты?

Каждый начинающий сайтостроитель мечтает создать свой уникальный сайт на ко ...

21 Февраля 2021    Web

Ищем качественный и недорогой хостинг? Тогда вам сюда

Ищем качественный и недорогой хостинг? Тогда вам сюда

Рано или поздно всем вебмастерам приходится искать хостинг для своего проек ...

21 Февраля 2021    Web