Как очистить (удалить) переносы из моего текста?

В моей книге есть слова с переносами, и я должен удалить эти дефисы и соединить слова. Но у нас есть слова с символом«. Как я могу удалить дефисы в этой ситуации?

Пример текста из моей книги:

$ text = "БАДРЎ (Й) (ي (بدرو он ки рўи нозебу хунук до-
рад, бадафт, безеб, бадбашара; муќоб.
хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб надо-
рад ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт, бад-
анд; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо ало-
мати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан,
бетартибия, бесарусомонї. 2. чигилї, печі
дагї, дарњам-барњамї. а) бесаранљом, парешонњол; б) бетартиб,
дарњаму барњам: бесару сомон шудани кор;
бесару тан белибос; луч, урён, барањна; бе-
сар-бесар гаштан худсарона овора гаштан.
«;

Я старался:

$search = array("-", "- ", " -", " - ");
$replace = array("", "", "", "");
$result = str_replace($search, $replace, $text);

Выход:

БАДРЎ (Й) (ي (بدرو он ў (ки н ки د ки ки х х ки х х ки до х до до х до до до до рад рад рад рад рад рад;;;;;;;;;;;; ;ќќќќќќќќќќќќќ .ќ....
БАДСОБИЌА بدسابقه он ки пешинаи хуб надо рад в мардум ўро ба бадї мешиносанд.
БАДСУРАТ بدصورت бадшакл, бадафт, бад андом; нозеб, зиштрўй.
БАЙБАЙ بي بي нидо вањвањ, њайњай (бо ало мати тањсин ва тааљљуб).
БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан, бетартибї, бесарусомонї. 2. чигилї, печи дагї, дарњамбарњамї. а) бесаранљом, парешонњол; б) бетартиб, дарњаму барњам: бесару сомон шудани кор; бесару тан белибос; луч, урён, барањна; бе сарбесар гаштан худсарона овора гаштан.

Желаемый результат будет таким:

БАДРЎ (Й) (ي (بدرو он ки рўи нозебу хунук дорад,
бадафт, безеб, бадбашара; муќоб.
хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб надорад
ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт,
баданд; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо
аломати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан,
бетартибия, бесарусомонї. 2. чигилї, печидагї, дарњам-барњамї.
а) бесаранљом, парешонњол; б) бетартиб,
дарњаму барњам: бесару сомон шудани кор;
бесару тан белибос; луч, урён, барањна;
бесар-бесар гаштан худсарона овора гаштан.

1

Решение

Вы можете искать

-\R

Это должно быть заменено '', увидеть демо на regex101.com.


В PHP:

$regex = '~-\R~';
$new_text = preg_replace($regex, '', $text);

Увидеть демо на ideone.com.

3

Другие решения

Я делаю предположение: если слово переносится так, как вы хотите отменить, оно будет в конце строки.

Ты можешь использовать preg_replace() сделать это:

$search = "/-\n/";
$replace = "";
preg_replace($search, $replace, $text);

Он будет искать все места, где после символа «-» следует символ новой строки (если это произошло из системы на базе Windows, вам может потребоваться заменить «\ r \ n» вместо просто «\ n») и заменить это с пустой строкой, таким образом, удаляя дефис а также символ новой строки.

Обратите внимание, что $search должен быть в двойных кавычках для правильного анализа \ n.

3

Это близко к тому, что вы ищете:

<?php

$string = "БАДРЎ(Й) (ي(بدرو он ки рўи нозебу хунук до-
рад, бадафт, безеб, бадбашара; муќоб.
хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб надо-
рад ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт, бад-
андом; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо ало-
мати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан,
бетартибї, бесарусомонї. 2. чигилї, печи-
дагї, дарњам-барњамї. а) бесаранљом, парешонњол; б) бетартиб,
дарњаму барњам: бесару сомон шудани кор;
бесару тан белибос; луч, урён, барањна; бе-
сар-бесар гаштан худсарона овора гаштан.";

$pattern = '/(\w+)-(\s+)(\w+)/u';
$replacement = '${2}${1}${3}';
echo preg_replace($pattern, $replacement, $string);

?>

Образец вывода:

БАДРЎ(Й) (ي(بدرو он ки рўи нозебу хунук
дорад, бадафт, безеб, бадбашара; муќоб.
хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб
надорад ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт,
бадандом; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо
аломати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан,
бетартибї, бесарусомонї. 2. чигилї,
печидагї, дарњам-барњамї. а) бесаранљом, парешонњол; б) бетартиб,
дарњаму барњам: бесару сомон шудани кор;
бесару тан белибос; луч, урён, барањна;
бесар-бесар гаштан худсарона овора гаштан.
2
По вопросам рекламы [email protected]