Я надеюсь, что я только что сделал простую ошибку, которую вы можете исправить. К сожалению, я не очень разбираюсь в PHP.Не могу получить preg_replace для работы
Я пытаюсь запустить два регулярных выражения над строкой.
Вы заметите, что первый пытается найти скрипт и iframe, а затем обернуть div вокруг этого.
Второй, просто пытается заменить URL-адреса «//» протоколом HTTP - я понимаю, что это можно сделать как str_replace, о котором я прокомментировал ниже. Я тестировал, что str_replace работал над тем, чтобы не было забавного дела с этой функцией, которая не вызывалась, и она работала нормально. По какой-то причине preg_replace в основном игнорируется, и строка не изменяется.
Я пропустил что-то очевидное здесь?
Я пробовал пару инструментов preg_replace в Интернете, и они выглядят правильно.
function cleanseSpringboardEmbed($content)
{
// run regex over the content to clean up the embed code from springboard and make compatible with IA.
$patternWrapper = '/<script src="\/\/www.springboardplatform\.com\/js\/overlay"><\/script><iframe(.*)<\/iframe>/';
$patternProtocol = '/<iframe src="\/\/cms.springboardplatform.com/';
$holder = $content;
$replacementWrapper = '<figure class="op-interactive">' . '$0' . '</figure>';
$replacementProtocol = '<iframe src="http://cms.springboardplatform.com';
//$holder = str_replace("//cms.springboardplatform.com","http://cms.springboardplatform.com", $holder);
//$holder = str_replace("//www.springboardplatform.com","http://www.springboardplatform.com", $holder);
preg_replace($patternWrapper, $replacementWrapper, $holder);
preg_replace($patternProtocol, $replacementProtocol, $holder);
return $holder;
}
Вот пример некоторых входных
<p>test<br />
<script src="//www.springboardplatform.com/js/overlay"></script><iframe id="crzy003_1621795" src="//cms.springboardplatform.com/embed_iframe/5365/video/1621795/crzy003/craziestsportsfights.com/10" width="600" height="400" frameborder="0" scrolling="no"></iframe><br />
test</p>
спасибо так много! –