【问题标题】:str_replace on an embedded css stylestr_replace 在嵌入式 css 样式上
【发布时间】:2017-10-13 14:12:03
【问题描述】:

是否可以对嵌入式样式执行 str_replace 或 preg_replace ?我尝试了各种选择,但运气不佳,但我不确定我错过了什么。

我在页面上有一个带有一堆 CSS 的标签,其中许多包含具有相对背景路径的类,例如:

background: url("/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px;

我正在尝试用以下代码将此路径替换为绝对路径,但似乎无法定位页面上的 CSS。

$replaceThis = 'url(\"/wcsstore/"';
str_replace('/wcsstore/', 'http://****.com/nimrod/wcsstore/', $replaceThis);

谢谢。

P.S 在这种情况下,我不可能针对单个班级。这是一个包含在标题模板中的 sn-p,将在 1000 多个页面上执行。

【问题讨论】:

    标签: php preg-replace background-image str-replace


    【解决方案1】:

    您忘记将新值分配给变量:

    $css ='background: url("/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px;';
    $css = str_replace('/wcsstore/', 'http://****.com/nimrod/wcsstore/', $css);
    echo "$css\n";
    

    输出:

    background: url("http://****.com/nimrod/wcsstore/comp/en_GB/header.jpg") no-repeat; background-position: center center; height: 200px; max-width: 1200px; margin: 0 auto 40px;
    

    【讨论】:

    • 感谢您的回复!我只是尝试执行它,但它似乎只是回显路径并且实际上并没有执行文档上的所有更改。我错过了一些非常简单的东西吗? (PHP 新手)
    • 感谢您的回复,非常感谢您的帮助。我刚刚将代码更新为您编辑的建议,但不幸的是它仍然只是打印出路径而不执行嵌入式
    • @user6583984:请编辑您的问题并添加您要修改的完整真实字符串以及预期结果。
    • 谢谢,我已经更新了我原来的问题 - 希望这会有所帮助。
    • 谢谢托托。我仍然认为我遗漏了一些明显的东西,因为它只是没有在我的文档上执行来更改路径。我在这里创建了这个测试文档,以确保没有任何冲突.. pastebin.com/u8VH2DhD 如果您有办法让我为您的帮助捐款,请务必告诉我,非常感谢!
    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    相关资源
    最近更新 更多