Удалить разрывы строк из значений полей базы данных - PullRequest
1 голос
/ 13 июля 2011

Я создаю процедуру, которая создает файл settings.ini из таблицы базы данных.

У меня есть потенциальная проблема с выходным файлом, когда значение параметра, хранящееся в БД, содержит разрывы строк.

Например, как параметр "test_custom_css" ниже ...

test_current_sort = asc
test_custom_css = /*.blog ul li {margin-bottom:0;padding-bottom:0;}

#facebook_like iframe {height:30px;}

.footer ul li:last-child a {border:none;}
*/
test_custom_footer = true
test_custom_header = true
test_friendlyURLS = 1

Есть ли PHP-фильтр, который я могу применить к переменной $ mySettings в цикле ниже, чтобы удалить разрывы строк?

function wpseTest()
{
    $query = "SELECT option_name, option_value FROM wp_options where option_name like 'test|_%' escape '|' AND option_value > ''";
    global $wpdb;
    $matches = $wpdb->get_results($query);

    $mySettings = '[settings]\r\n';

    foreach ($matches as $result){
        $mySettings .= $result->option_name;
        $mySettings .= ' = ';
        $mySettings .= $result->option_value; //REMOVE LINE BREAKS HERE
        $mySettings .= '\r\n';
    }

    $mySettingsFileLocation = WP_PLUGIN_DIR.'/test/settings-backup.ini';
    $mySettingsFile = fopen($mySettingsFileLocation, 'w');
    fwrite($mySettingsFile, $mySettings);
    fclose($mySettingsFile);
}

Ответы [ 2 ]

1 голос
/ 13 июля 2011
$x = preg_replace('/\r\n|\r|\n\r|\n/m', ' ', $x);

удаляет все разрывы строк.

0 голосов
/ 13 июля 2011
<?php
$mySettings = str_replace("\r\n", "", $mySettings);
?>
...