В моей книге есть слова с переносами, и я должен удалить эти дефисы и соединить слова. Но у нас есть слова с символом—«. Как я могу удалить дефисы в этой ситуации?
Пример текста из моей книги:
$ text = "БАДРЎ (Й) (ي (بدرو он ки рўи нозебу хунук до- рад, бадафт, безеб, бадбашара; муќоб. хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб надо- рад ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт, бад- анд; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо ало- мати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан, бетартибия, бесарусомонї. 2. чигилї, печі дагї, дарњам-барњамї. а) бесаранљом, парешонњол; б) бетартиб, дарњаму барњам: бесару сомон шудани кор; бесару тан белибос; луч, урён, барањна; бе- сар-бесар гаштан худсарона овора гаштан. «;
Я старался:
$search = array("-", "- ", " -", " - ");
$replace = array("", "", "", "");
$result = str_replace($search, $replace, $text);
Выход:
БАДРЎ (Й) (ي (بدرو он ў (ки н ки د ки ки х х ки х х ки до х до до х до до до до рад рад рад рад рад рад;;;;;;;;;;;; ;ќќќќќќќќќќќќќ .ќ.... БАДСОБИЌА بدسابقه он ки пешинаи хуб надо рад в мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт, бад андом; нозеб, зиштрўй. БАЙБАЙ بي بي нидо вањвањ, њайњай (бо ало мати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан, бетартибї, бесарусомонї. 2. чигилї, печи дагї, дарњамбарњамї. а) бесаранљом, парешонњол; б) бетартиб, дарњаму барњам: бесару сомон шудани кор; бесару тан белибос; луч, урён, барањна; бе сарбесар гаштан худсарона овора гаштан.
Желаемый результат будет таким:
БАДРЎ (Й) (ي (بدرو он ки рўи нозебу хунук дорад, бадафт, безеб, бадбашара; муќоб. хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб надорад ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт, баданд; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо аломати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан, бетартибия, бесарусомонї. 2. чигилї, печидагї, дарњам-барњамї. а) бесаранљом, парешонњол; б) бетартиб, дарњаму барњам: бесару сомон шудани кор; бесару тан белибос; луч, урён, барањна; бесар-бесар гаштан худсарона овора гаштан.
Вы можете искать
-\R
Это должно быть заменено ''
, увидеть демо на regex101.com.
В PHP
:
$regex = '~-\R~';
$new_text = preg_replace($regex, '', $text);
Увидеть демо на ideone.com.
Я делаю предположение: если слово переносится так, как вы хотите отменить, оно будет в конце строки.
Ты можешь использовать preg_replace()
сделать это:
$search = "/-\n/";
$replace = "";
preg_replace($search, $replace, $text);
Он будет искать все места, где после символа «-» следует символ новой строки (если это произошло из системы на базе Windows, вам может потребоваться заменить «\ r \ n» вместо просто «\ n») и заменить это с пустой строкой, таким образом, удаляя дефис а также символ новой строки.
Обратите внимание, что $search
должен быть в двойных кавычках для правильного анализа \ n.
Это близко к тому, что вы ищете:
<?php
$string = "БАДРЎ(Й) (ي(بدرو он ки рўи нозебу хунук до-
рад, бадафт, безеб, бадбашара; муќоб.
хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб надо-
рад ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт, бад-
андом; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо ало-
мати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан,
бетартибї, бесарусомонї. 2. чигилї, печи-
дагї, дарњам-барњамї. а) бесаранљом, парешонњол; б) бетартиб,
дарњаму барњам: бесару сомон шудани кор;
бесару тан белибос; луч, урён, барањна; бе-
сар-бесар гаштан худсарона овора гаштан.";
$pattern = '/(\w+)-(\s+)(\w+)/u';
$replacement = '${2}${1}${3}';
echo preg_replace($pattern, $replacement, $string);
?>
Образец вывода:
БАДРЎ(Й) (ي(بدرو он ки рўи нозебу хунук
дорад, бадафт, безеб, бадбашара; муќоб.
хушрўй. БАДСОБИЌА بدسابقه он ки пешинаи хуб
надорад ва мардум ўро ба бадї мешиносанд. БАДСУРАТ بدصورت бадшакл, бадафт,
бадандом; нозеб, зиштрўй. БАЙ-БАЙ بي بي нидо вањ-вањ, њай-њай (бо
аломати тањсин ва тааљљуб). БЕСАРУНЎГЇ بيسرونوگي 1. бесарунўг будан,
бетартибї, бесарусомонї. 2. чигилї,
печидагї, дарњам-барњамї. а) бесаранљом, парешонњол; б) бетартиб,
дарњаму барњам: бесару сомон шудани кор;
бесару тан белибос; луч, урён, барањна;
бесар-бесар гаштан худсарона овора гаштан.