str_replace用于动态字符串内容


str_replace for dynamic string content?

我有一个不同语言的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>

成为仅CCD_ 1。

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

成为仅CCD_ 2。

常见的模式是

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

由于javascript警报中有动态的多语言内容,我不能直接使用str_replace,必须进行一些通配符类型的映射。。。。

知道如何解决这个难题吗?

您可以尝试使用regex和preg_replace

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

您可以在这里看到正则表达式

阅读preg_replace。

例如,

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