【问题标题】:Strip <p> tag from within <script> tags从 <script> 标签中去除 <p> 标签
【发布时间】:2014-01-15 16:26:42
【问题描述】:

内容:

Various html here
<script language="javascript" type="text/javascript">
<p>
valid.js.here
</p>    <p>
more.valid.js.here
</p>
</script>
more htmls here

我试过了

preg_replace('#<script[^>]*>(<p>|</p>)</script>#is', '', $content);

和其他变体。基本上,这是 wordpress 的精彩 wpautop。不,我无法通过其他各种方式关闭 autop。

【问题讨论】:

    标签: php regex wordpress


    【解决方案1】:

    即使匹配,您也可以将整个脚本块替换为 ''。

    我建议您阅读一般的 REGEX 和 preg_replace (甚至可能是preg_replace_callback)。

    另外,最好先提取脚本内容,然后再删除标签。

    此外,如果您想要保留的 JS 代码中有 &lt;p&gt;,这将不起作用。 (就像在 js 字符串中一样)

    这是我使用的一个非常有用的正则表达式测试应用程序:http://gskinner.com/RegExr/

    【讨论】:

    • 提取脚本内容,然后 str_replace()

      可以正常工作(在这种情况下;我明白你关于需要

      的观点)

    猜你喜欢
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多