BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Автоматично създаване на параграфи
abc14
Публикувано на: 01-03-2024, 02:29
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 01.03.24



Здравейте,
Имам сайт в който съм решил да публикувам дълги списъци.
Копирам текста и го поставям директно.
Искам текста да е по-приятен за четене и затова трябва на всеки 10 реда да има интервал.
Единствения вариант за който се сещам е ръчно да натискам ентър.
За съжаление това ще ми отнеме много време.
Има ли начин това да се направи със скрипт?
PMEmail Poster
Top
akrachev
Публикувано на: 01-03-2024, 10:16
Quote Post



Име: акрачев
Група: Потребител
Ранг: Почетен член

Мнения: 1070
Регистриран на: 27.11.09



мини го през ChatGPT


--------------------
PMEmail PosterUsers Website
Top
badsnake
Публикувано на: 01-03-2024, 15:42
Quote Post


Group Icon
Име: Станислав Филев
Група: VIP
Ранг: Редовен член

Мнения: 301
Регистриран на: 10.04.04



Мисля че ти трябва нещо такова:
CODE

       $lineCount = 0;
       $paragraph = '';
       foreach(file('myfile.txt') as $line) {
           if($lineCount <= 10){
               $paragraph .= $line;
           } else {
               echo '<p>' . $paragraph . '</p>';
               $lineCount = 1;
               $paragraph = $line;
           }
       }


Не съм го тествал, може и да има неточности но все пак да ти даде ориентир какво да правиш.

Или малко по прост вариант
CODE

       $lineCount = 0;
       foreach(file('myfile.txt') as $line) {
           if($lineCount <= 10){
               echo $line;
           } else {
               echo '</br>';
               echo $line;
               $lineCount = 1;
           }
       }


Това мнение е било редактирано от badsnake на 01-03-2024, 15:46


--------------------
Преди всичко същност, отколкото външност!!!
PMEmail PosterUsers WebsiteICQ
Top
abc14
Публикувано на: 01-03-2024, 23:34
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 01.03.24



Здравей,
Akrachev
пробвах с ии, но кодът който ми даде

text = "This is a sample text."

for i in range(0, len(text), 10):
print(text[i:i+10])

ми правеше текста по 10 символа на ред.
Станислав благодаря ви за двата кода.
Не съм програмист и ми трябва подробно обяснение какво трябва да правя.
Ще може ли тук да го приложа примерно https://onecompiler.com/?
Приятна вечер!
PMEmail Poster
Top
SuN
Публикувано на: 02-03-2024, 14:30
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 12805
Регистриран на: 27.01.05



Малко е неясно какво искаш да постигнеш. Толкова е неясно, че за малко да ти дам съвет да си свалиш Емакс и да изпълниш една команда icon_smile.gif

Хубаво е да уточниш какво имаш предвид под текст. Това обикновен файл с разширение .txt ли е? Сайта ти просто предлага този файл да се свали? Или минава през някаква програма и се показва в html формат?

Добавка:
Ако имаш текстов файл и си надъхан да си свалиш Емакс - може за Уиндолс, за Линукс или МакОС, само отваряш текстовия файл, въвеждаш следващата команда (ще обясня как при интерес):
CODE
(defun place-extra-newlines (n)
 "Place a new line every `N' new lines."
 (interactive "nNumber of skip lines: ")
 (save-excursion
   (goto-char (point-min))
   (cl-loop with run = t
           while run
           do
           (let ((diff (forward-line n)));; бележка: тествано е само с числата 2, 5 и 10
             (if (> diff 0)
               (setf run nil)
             (insert "\n"))))))

И я изпълняваш. Кода ще те пита за число, което представлява броя на текстовите редове, след които ще постави знак за нов ред.

Голям срам е, че няма по-прост начин... icon_lol.gif

Това мнение е било редактирано от SuN на 02-03-2024, 15:09


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
abc14
Публикувано на: 02-03-2024, 20:18
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 01.03.24




Благодаря на всички за включването.
Сега ще се опитам максимално подробно и ясно да обясня какво желая да постигна icon_smile.gif
Имам блог.
Казах сайт, защото не намирам голяма разлика между двете.
В постингите, които правя се налага да копирам и поставям текст

Пример:

1 George Washington, 1789-97
2 John Adams, 1797-1801 (Federalist)
3 Thomas Jefferson, 1801-9 (Democratic-Republican)
4 James Madison, 1809-17 (Democratic-Republican)
5 James Monroe, 1817-25 (Democratic-Republican)
6 John Quincy Adams, 1825-29 (Democratic-Republican)
7 Andrew Jackson, 1829-37 (Democrat)
8 Martin Van Buren, 1837-41 (Democrat)
9 William Henry Harrison, 1841 (Whig)
10 John Tyler, 1841-45 (Whig)
11 James Knox Polk, 1845-49 (Democrat)
12 Zachary Taylor, 1849-50 (Whig)
13 Millard Fillmore, 1850-53 (Whig)
14 Franklin Pierce, 1853-57 (Democrat)
15 James Buchanan, 1857-61 (Democrat)
16 Abraham Lincoln, 1861-65 (Republican)
17 Andrew Johnson, 1865-69 (Democrat/National Union)
18 Ulysses Simpson Grant, 1869-77 (Republican)
19 Rutherford Birchard Hayes, 1877-81 (Republican)
20 James Abram Garfield, 1881 (Republican)
21 Chester Alan Arthur, 1881-85 (Republican)
22 Grover Cleveland, 1885-89 (Democrat)
23 Benjamin Harrison, 1889-93 (Republican)
24 Grover Cleveland, 1893-97 (Democrat)
25 William McKinley, 1897-1901 (Republican)
26 Theodore Roosevelt, 1901-9 (Republican)
27 William Howard Taft, 1909-13 (Republican)
28 Woodrow Wilson, 1913-21 (Democrat)
29 Warren Gamaliel Harding, 1921-23 (Republican)
30 Calvin Coolidge, 1923-29 (Republican)

Ако не го оформя с html тагове излиза

1 George Washington, 1789-97 2 John Adams, 1797-1801 (Federalist) 3 Thomas Jefferson, 1801-9 (Democratic-Republican) 4 James Madison, 1809-17 (Democratic-Republican) 5 James Monroe, 1817-25 (Democratic-Republican) 6 John Quincy Adams, 1825-29 (Democratic-Republican) 7 Andrew Jackson, 1829-37 (Democrat) 8 Martin Van Buren, 1837-41 (Democrat) 9 William Henry Harrison, 1841 (Whig) 10 John Tyler, 1841-45 (Whig) 11 James Knox Polk, 1845-49 (Democrat) 12 Zachary Taylor, 1849-50 (Whig) 13 Millard Fillmore, 1850-53 (Whig) 14 Franklin Pierce, 1853-57 (Democrat) 15 James Buchanan, 1857-61 (Democrat) 16 Abraham Lincoln, 1861-65 (Republican) 17 Andrew Johnson, 1865-69 (Democrat/National Union) 18 Ulysses Simpson Grant, 1869-77 (Republican) 19 Rutherford Birchard Hayes, 1877-81 (Republican) 20 James Abram Garfield, 1881 (Republican) 21 Chester Alan Arthur, 1881-85 (Republican) 22 Grover Cleveland, 1885-89 (Democrat) 23 Benjamin Harrison, 1889-93 (Republican) 24 Grover Cleveland, 1893-97 (Democrat) 25 William McKinley, 1897-1901 (Republican) 26 Theodore Roosevelt, 1901-9 (Republican) 27 William Howard Taft, 1909-13 (Republican) 28 Woodrow Wilson, 1913-21 (Democrat) 29 Warren Gamaliel Harding, 1921-23 (Republican) 30 Calvin Coolidge, 1923-29 (Republican)

Преди време пишех ръчно таговете и това ми отнемаше много време.
За моя радост намерих сайт генериращ html тагове и само копирах резултата

<p>1 George Washington, 1789-97<br>
2 John Adams, 1797-1801 (Federalist)<br>
3 Thomas Jefferson, 1801-9 (Democratic-Republican)<br>
4 James Madison, 1809-17 (Democratic-Republican)<br>
5 James Monroe, 1817-25 (Democratic-Republican)<br>
6 John Quincy Adams, 1825-29 (Democratic-Republican)<br>
7 Andrew Jackson, 1829-37 (Democrat)<br>
8 Martin Van Buren, 1837-41 (Democrat)<br>
9 William Henry Harrison, 1841 (Whig)<br>
10 John Tyler, 1841-45 (Whig)<br>
11 James Knox Polk, 1845-49 (Democrat)<br>
12 Zachary Taylor, 1849-50 (Whig)<br>
13 Millard Fillmore, 1850-53 (Whig)<br>
14 Franklin Pierce, 1853-57 (Democrat)<br>
15 James Buchanan, 1857-61 (Democrat)<br>
16 Abraham Lincoln, 1861-65 (Republican)<br>
17 Andrew Johnson, 1865-69 (Democrat/National Union)<br>
18 Ulysses Simpson Grant, 1869-77 (Republican)<br>
19 Rutherford Birchard Hayes, 1877-81 (Republican)<br>
20 James Abram Garfield, 1881 (Republican)<br>
21 Chester Alan Arthur, 1881-85 (Republican)<br>
22 Grover Cleveland, 1885-89 (Democrat)<br>
23 Benjamin Harrison, 1889-93 (Republican)<br>
24 Grover Cleveland, 1893-97 (Democrat)<br>
25 William McKinley, 1897-1901 (Republican)<br>
26 Theodore Roosevelt, 1901-9 (Republican)<br>
27 William Howard Taft, 1909-13 (Republican)<br>
28 Woodrow Wilson, 1913-21 (Democrat)<br>
29 Warren Gamaliel Harding, 1921-23 (Republican)<br>
30 Calvin Coolidge, 1923-29 (Republican)</p>

и публикацията е с желания от мен вид.

За да е по-добре за четене искам списъка които копирам
да има интервал на всеки 10 реда

1 George Washington, 1789-97
2 John Adams, 1797-1801 (Federalist)
3 Thomas Jefferson, 1801-9 (Democratic-Republican)
4 James Madison, 1809-17 (Democratic-Republican)
5 James Monroe, 1817-25 (Democratic-Republican)
6 John Quincy Adams, 1825-29 (Democratic-Republican)
7 Andrew Jackson, 1829-37 (Democrat)
8 Martin Van Buren, 1837-41 (Democrat)
9 William Henry Harrison, 1841 (Whig)
10 John Tyler, 1841-45 (Whig)

11 James Knox Polk, 1845-49 (Democrat)
12 Zachary Taylor, 1849-50 (Whig)
13 Millard Fillmore, 1850-53 (Whig)
14 Franklin Pierce, 1853-57 (Democrat)
15 James Buchanan, 1857-61 (Democrat)
16 Abraham Lincoln, 1861-65 (Republican)
17 Andrew Johnson, 1865-69 (Democrat/National Union)
18 Ulysses Simpson Grant, 1869-77 (Republican)
19 Rutherford Birchard Hayes, 1877-81 (Republican)
20 James Abram Garfield, 1881 (Republican)

21 Chester Alan Arthur, 1881-85 (Republican)
22 Grover Cleveland, 1885-89 (Democrat)
23 Benjamin Harrison, 1889-93 (Republican)
24 Grover Cleveland, 1893-97 (Democrat)
25 William McKinley, 1897-1901 (Republican)
26 Theodore Roosevelt, 1901-9 (Republican)
27 William Howard Taft, 1909-13 (Republican)
28 Woodrow Wilson, 1913-21 (Democrat)
29 Warren Gamaliel Harding, 1921-23 (Republican)
30 Calvin Coolidge, 1923-29 (Republican)

и този текст да му добавя html таговете.

Предполагам това пак има начин да се прави автоматично вместо на всеки 10 ред да натискам ентър за да
направя по 1 ред разстояние между тях.
Търся начини за оптимизация и пестене на време.


PMEmail Poster
Top
relax4o
Публикувано на: 02-03-2024, 20:45
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2823
Регистриран на: 04.04.07



А блога ти какъв е? Малко странно, ако ползваш готова система да не пази формата и да изисква сам да си добавяш html тагове.


--------------------
Бисери :D

QUOTE (oveRLuckEd)
Ползваш някоя нова версия на PHP, която е вече ооп ориентирана и заради това ти я изкарва тази грешка.


QUOTE (nbacool2)
Щом няма input полета, значи няма откъде да се направи SQL инжекция Very Happy
PM
Top
SuN
Публикувано на: 02-03-2024, 20:53
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 12805
Регистриран на: 27.01.05



Щом правиш всичко на ръка, ето ти едно serverless решение, което ще подразни всички уеб програмисти:

1. Запазваш си кода, който давам като <някакво-име-на-файл>.html.
2. Отваряш го с браузъра.
3. В лявата част пишеш списъка, а в дясната ще получиш резултата, който е готов за копиране.

CODE
<!DOCTYPE html>
<html>
 <head>
   <script>
   function f1 () {
      var input = document.getElementById ('input');
      var output = document.getElementById ('output');
      output.innerHTML = "&ltp&gt"
      
      for (var line=1, j = 1; j <= input.value.length; j++) {
          output.innerHTML += input.value[j-1]
          if (input.value[j-1] == '\n') {
            output.innerHTML += "&ltbr/&gt"
            output.innerHTML += "<br/>"
            line++

            if ((line % 11) == 0) {
                output.innerHTML += "&ltbr/&gt"
                output.innerHTML += "<br/>"
            }
          }

      }
      output.innerHTML += "&lt/p&gt"
   }
   </script>
 </head>
 <body>
   <table>
     <tr>
      <td>
        <button onclick='f1()'>Направи ала-бала</button>
      </td>
      <td>
      </td>
     </tr>
     <tr>
      <td>
        <textarea cols='50' rows='35' id='input'>
        </textarea>
      </td>
      <td>
        <p id='output'>123123</p>
      </td>
     </tr>
 </body>
</html>


Това мнение е било редактирано от SuN на 02-03-2024, 20:59


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
abc14
Публикувано на: 02-03-2024, 22:16
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 01.03.24



SuN Благодаря за помощта и проявеното разбиране.
PMEmail Poster
Top
SuN
Публикувано на: 03-03-2024, 01:47
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 12805
Регистриран на: 27.01.05



Трябва да се добави един ред, защото не работи въобще след 10-я ред:
CODE
           if ((line % 11) == 0) {
                line = 1 // поправка №1 - да се добави
                output.innerHTML += "&ltbr/&gt"
                output.innerHTML += "<br/>"
            }


Това мнение е било редактирано от SuN на 03-03-2024, 01:48


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0