Ошибка функции «Preg_Replace» с одинарными / двойными кавычками - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь заменить некоторые фрагменты кода в разных файлах темы, используя приведенную ниже функцию, однако я застрял во второй части функции, где я хочу заменить некоторый код PHP, который содержит одну кавычку.

Когда я запускаю функцию, изменяется только первая часть.

function update_GTour_theme_files()
{
    $new_update = file_get_contents("/home/tourieuw/public_html/wp-content/themes/grandtour/header.php");
    $new_update = preg_replace('/\$page_menu_transparent = 1/', '\$page_menu_transparent = 0', $new_update);
    $new_update = preg_replace('/\$grandtour_page_menu_transparent = 1/', '\$grandtour_page_menu_transparent = 0', $new_update);
    if (file_put_contents("/home/tourieuw/public_html/wp-content/themes/grandtour/header.php", $new_update)) {
        $errpass = TRUE;
    } else {
        $errmsg  = "Header.php was not updated";
        $errpass = FALSE;
    }

    $new_update_2 = file_get_contents("/home/tourieuw/public_html/wp-content/themes/grandtour/templates/template-tour-header.php");
    $new_update_2 = preg_replace('/(esc_html(grandtour_format_tour_price($tour_price)))/', '\'From \'.esc_html(grandtour_format_tour_price($tour_price)', $new_update_2);
    if (file_put_contents("/home/tourieuw/public_html/wp-content/themes/grandtour/templates/template-tour-header.php", $new_update_2)) {
        $errpass = TRUE;
    } else {
        $errmsg  = "template-tour-header.php was not updated";
        $errpass = FALSE;
    }

    if ($errpass = TRUE) {
        echo '</br><span style="color:green;font-weight:bold;">Changes were applied successfully.</span>';
    } else {
        echo '</br><span style="color:red;font-weight:bold;">' . $errmsg . '</span>';
    }
}

Я ожидаю, что при запуске этой функции обе переменные в двух файлах будут заменены этим кодом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...