str_replace用于动态字符串内容?

时间:2015-02-10 04:53:39

标签: php wildcard 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,不得不做一些通配符的映射....

任何想法如何解决这个难题?

2 个答案:

答案 0 :(得分:0)

阅读preg_replace

,例如,

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

答案 1 :(得分:0)

您可以尝试使用regex和preg_replace

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

您可以看到正则表达式here