Я нашел это на SO, Динамически заменить подстроку на подстроку, используя PHP
Мне нужно что-то похожее на это, я не хочу удалять первую часть, но случайно обе.
это означает, что иногда мне нужно получить первую часть подстроки, а иногда и последнюю часть.
function deleteStringBetweenStrings($start, $end, $string) {
// create a pattern from the input and make it safe to use in a regular expression
$pattern = '|' . preg_quote($start) . '(.*)' . preg_quote($end) . '|U';
// replace every occurrence of this pattern with an empty string in full $s
tring
return preg_replace($pattern, '', $string);
}
$String = "loads of text [[gibberish text|Text i Want]] more text [[gibberish text|Text i Want]] more text [[if no separator then just remove tags]]";
$String = deleteStringBetweenStrings("[[", "]]", $String);
echo $String;
//loads of text more text more text
Если я использую эту функцию с разделителями '[[' и ']]', это удалит полную подстроку внутри разделителей. но мне нужно, чтобы эта строка содержала одну (случайную) часть подстроки внутри разделителей.
Мой ожидаемый результат будет как-
результат # 1 = загрузка текста бессмысленный текст больше текста Текст i Хочу больше текста, если нет разделителя, тогда просто удалите теги
результат # 2 = загрузка текста Текст, который я хочу больше текста Текст, который я хочу больше текста, если нет разделителя, тогда просто удалите теги
результат # 3 = загрузка текста Текст я хочу больше текста бессмысленный текст больше текста, если нет разделителя, тогда просто удалите теги
любая помощь будет принята с благодарностью.