Форматирование для мобильных устройств - Как создать строку фиксированной ширины из исходной строки в php

1

Привет, я работаю над некоторым форматированием для мобильных устройств, и, согласно моим источникам, они работают лучше всего с 37 символами в строке.

Скажем, я вводил строку в форму, которая является "нормальной", например, 80 символов на строку, например:

ВХОД:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eget risus porta, sodales ligula sed, ultricies sem. Praesent cursus, erat et consequat cursus, ante nisl placerat neque, ut maximus massa ipsum quis turpis. In mollis viverra nisl vitae pellentesque. Ut et tristique nisi. Duis nec lacinia enim. Vestibulum ultricies risus sed nibh imperdiet, nec venenatis libero suscipit. Morbi accumsan purus lectus, et commodo risus blandit at. Morbi luctus lacus dapibus, tempus est et, sollicitudin est. Phasellus sodales sodales eros. Proin dapibus pulvinar diam, ut pretium nisl pulvinar a. Donec nec lectus urna. Curabitur eu dolor pharetra, facilisis metus vitae, consectetur orci. Curabitur quis egestas mi, non tincidunt nisl. 

Я хотел бы, чтобы подпрограмма помещала /n примерно на 37 символов, чтобы она легко читалась на экране для мобильных устройств.

ВЫВОД:

Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Fusce
eget risus porta, sodales ligula sed,
ultricies sem. Praesent cursus, erat
et consequat cursus, ante nisl
placerat neque, ut maximus massa
ipsum quis turpis. In mollis viverra
nisl vitae pellentesque. Ut et
tristique nisi. Duis nec lacinia
enim. Vestibulum ultricies risus sed
nibh imperdiet, nec venenatis libero
suscipit. Morbi accumsan purus
lectus, et commodo risus blandit at.
Morbi luctus lacus dapibus, tempus
est et, sollicitudin est. Phasellus
sodales sodales eros. Proin dapibus
pulvinar diam, ut pretium nisl
pulvinar a. Donec nec lectus urna.
Curabitur eu dolor pharetra,
facilisis metus vitae, consectetur
orci. Curabitur quis egestas mi, non
tincidunt nisl. 

Каждая строка имеет возврат каретки на 37 столбцов, сохраняя согласованные слова.

Это часть API, который мы пишем, и нам нужно записать /n в переменную выходной строки.

Входная строка представляет собой поле формы, т.е.

$input=$_POST['input'];

ВЫВОД

<textarea name="str" id="textarea" cols="80" rows="20">
   [print $output code goes here]
</textarea>

Некоторые из вас спрашивают меня, почему я хочу это сделать. Вот причина: в частности, мои инструкции взять строку ввода текста и превратить его в 18 точке Tahoma с 37 characers с <br> в конце каждой строки. Я могу сделать эту часть без проблем, как только у меня будет строка с новыми строками или возврат каретки, поэтому я просто разбиваю это сообщение на простой строковый вопрос, а не на дискуссию по философии мобильных писем!

Привет, когда я вводя текст, который имеет пунктуацию, как апостроф ('), в форму и затем передает этот вход обратно в <textarea> он добавляет дополнительный\к выходу. Я попробовал str_replace, но он, похоже, не удаляет его.

Входные данные:

Additional Strategies To This Case Study – Apply These To Propel Search Triggers Power To The Fullest!

Keep an 'arsenal' of keyword phrases, which you then 'sprinkle' into your titles, tags, and text from time to time. That really the key. Finding those initial words you're pursuing is the most important factor. And then being consistent with your content on the site over spans of time, strategically incorporating the words you generated from Search Triggers (ST).

ВЫВОД

Additional Strategies To This Case
Study – Apply These To Propel
Search Triggers Power To The
Fullest!

Keep an \'arsenal\' of keyword
phrases, which you then \'sprinkle\'
into your titles, tags, and text from
time to time. That\ really the key.
Finding those initial words you\'re
pursuing is the most important
factor. And then being consistent
with your content on the site over
spans of time, strategically
incorporating the words you generated
from Search Triggers (ST).

Как я могу удалить\перед апострофом в выходной строке в текстовой области?

$str = str_replace( '', "\", $str);   

является недопустимым, поскольку\рассматривается как литерал. Благодарю!

  • 0
    Это происходит от API, который вы создаете, и разработчики хотят, чтобы вы вставили возврат каретки в выход? Потому что я думаю, что эта задача больше подходит для презентаций (css / frontend)
  • 0
    да, это из API, который я создаю для форматирования электронной почты для мобильных устройств. Было бы замечательно также узнать, как сделать такой же эффект в CSS, однако здесь я не об этом спрашиваю.
Показать ещё 3 комментария
Теги:

2 ответа

1
Лучший ответ

Функция wordprap php может помочь вам достичь того, что вы хотите

http://php.net/manual/en/function.wordwrap.php

  • 0
    Спасибо! это то, что я искал. Итак, как мне повысить свою репутацию до 15, чтобы я мог голосовать за тебя?
0

Функция wordwrap выполнила эту работу. Я не знал, что такая функция существует. Спасибо!

<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");
echo $newtext;
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню