powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Форматирование текста
4 сообщений из 4, страница 1 из 1
Форматирование текста
    #32404908
nbah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужен скрипт фоматирующий текст: расстановка кавычек (вместо знаков дюйма), тире (вместо дефиса) и т.д.
...
Рейтинг: 0 / 0
Форматирование текста
    #32404914
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nbah
если ты хочешь получить помощь на форумах по программированию, то описывай проблему без фраз типа " и т.д. "
При данной постановке, задача решается так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$from = array(
  "знак_дюйма" , // именно один символ, я не в курсе что это такое
  "-" , // дефис
  "и т.д." , // 
);
$to = array(
 '"', // кавычка
  "---", // сюда тире введешь
 
 " и т.п.",
);
$text = str_replace($from, $to, $text); 
...
Рейтинг: 0 / 0
Форматирование текста
    #32404917
nbah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это совсем не то. Знак дюйма вот: " а вот кавычки: елочки «» и лапки “„ Также нужно нужно предусмотреть вложенности:
Код: plaintext
 ""Войну и мир"  сочинил я, на досуге" - поведал Вася.

преобразовать в
Код: plaintext
«“Войну и мир„ сочинил я, на досуге» — поведал Вася.
...
Рейтинг: 0 / 0
Форматирование текста
    #32405964
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю как это делается через регулярные выражения - но более низким методом (которым я решал эту задачу на бейсике) - начать пролистывать строку с первого символа до последнего. Если символ кавычка и после него нет ни кавычек ни знаков препинаний ни пробелов - прибавляем к переменной "уровень вложенности" единицу и заменяем кавычку на открывающуюся текущего уровня вложенности. Если после кавычки кавычка - проверяем что находится после последней кавычки из цепочки - если не пробел и не знак препинания - открывающаяся. Если же после кавычки пробел или знак препинания - снижаем вложенность на 1 и меняем на закрывающуюся кавычку текущей вложенности.
Правда, есть недостатки - этот способ довольно медленный.

SHOGAL
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Форматирование текста
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]