Я собрал достаточно кода, чтобы найти и заменить текст между определенными фразами в большей части текста, однако я зациклен на замене ТОЛЬКО этого текста. Приведенный ниже код находит его и заменяет всю очень длинную строку, а не только ту часть, на которую я хочу нацелиться. Например, если вы хотите изменить «WRONG TAG = бла-бла-бла» в середине «Сьюзи едет на велосипеде по улице НЕПРАВИЛЬНЫЙ TAG = бла-бла-бла«на равных» Сьюзи едет на велосипеде по улице ПРАВЫЙ TAG BLAH BLAH BLAH«Прямо сейчас я уничтожаю все это, только оставляя» RIGHT TAG BLAH BLAH BLAH «
$text = mysqli_query($conn, "Select body from ReplaceTest");
$imageId = 'new tag = 787654323';
$search = "/[^$wrongTag](.*)[^<\/]/";
$replace = "$id";
$string = "<wrongTag:id=\" blah blah blah />";$newText = preg_replace($search,$replace,$string);
$update = mysqli_query($conn, "UPDATE T1
SET body = '$newText'");
Попробуйте с:
$newText = preg_replace('/<$wrongTag([^>]+)/', "<$rigthtag$1", $string);
Других решений пока нет …