str_replace для динамического содержимого строки?

У меня есть сценарий 200 над веб-страницей на другом языке, все с этим форматом окончания.

<script>alert("***** ATENCIÓN ***** \n\n Es posible .");</script>
</body><script>alert("***** ATTENTION ***** \n\n Click now .");</script>
</body>

Я хочу динамически заменить

<script>alert("***** ATENCIÓN ***** \n\n Es posible .");</script>
</body>

становиться </body> только.

<script>alert("***** ATTENTION ***** \n\n Click now .");</script>
</body>

становиться </body> только.

общая картина

<script>alert("    ");</script>
</body>

поскольку внутри предупреждения javascript есть динамическое многоязычное содержимое, я не могу напрямую использовать str_replace, мне нужно сделать какой-то тип подстановки …

Есть идеи, как решить эту загадку?

0

Решение

Вы можете попробовать использовать регулярные выражения и preg_replace

$pat = '/<script>alert\(("\** [\p{L}]* \** [^)]*)\);<\/script>/u';
$nestr = preg_replace($pat, '</body>', $html);

Вы можете увидеть, что регулярное выражение работает Вот

0

Другие решения

следить за публикациями preg_replace.

Например.,

$pattern = '/<script>alert[^<]*<\/script>\s*<\/body>\s*$/';
$cleanedBody = preg_replace($pattern, '</body>', $body);
0

По вопросам рекламы [email protected]