При перенумерации массива с использованием
$arr=array_values($arr); // renumber array
Я понял, что разрыв строки вводится в одну из строк массива, чего я не хочу.
Моя строка идет от:
Тип недвижимости
к собственности
Тип
В любом случае я использую:
$newelement=preg_replace("/[^A-Za-z0-9\s\s+]/"," ",$element);
уже удалить ненужные charchters до вставки db, поэтому я попытался изменить его на:
$newelement=preg_replace("/[^A-Za-z0-9\s\s+'<br>''<br>''/n''/cr']/"," ",$element);
Но никаких изменений нет, и показ линии / линии / возврата каретки остается.
Правильно ли я делаю preg_replace?
Это прега выглядит немного сложнее. И тогда у вас есть ^ в начале как Not AZ .. или linefeed. Таким образом, вы не хотите заменять перевод строки?
Как насчет
$newelement=preg_replace("/[\n\r]/","",$element);
или
$newelement=preg_replace("/[^A-Za-z ]/","",$element);
\ s также соответствует linefeed (\ n)
Это может также работать:
// char(32) is whitespace // for CR $element = strtr($element, chr(13), chr(32)); // for LF $element = strtr($element, chr(10), chr(32));
Эта вещь работала для меня.
preg_replace("/\r\n\r\n|\r\r|\n\n/", "<br />", $element);
(Отредактировано для добавления отсутствующей косой черты)
Это взломать, но вы можете сделать что-то вроде этого:
$email_body_string = preg_replace("/\=\r\n$/","", $email_body_string);
Замена говорит, что найти строку, которая заканчивается знаком равенства, и имеет стандартные символы возврата каретки и строки. Замените эти символы ничем (""), и знак равенства исчезнет, строка под ним будет поднята, чтобы присоединиться к первой строке.
Теперь это означает, что у вас никогда не будет линии, которая заканчивается знаком равенства, что является риском. Если вы хотите сделать это лучше, проверьте длину строки, где появится надпись (с знаком равенства). Это обычно около 73 символов в начале строки. Тогда вы могли бы сказать:
if (strlen(equals sign) == 73) $email_body_string = preg_replace("/\=\r\n$/","", $email_body_string);