中心对齐纯文本(php)

时间:2010-08-31 10:41:51

标签: php javascript dialog

我被要求提出一个解决方案,允许我们的用户创建自己的自定义JavaScript对话文本。但是我们需要将它集中在一起。

目前,我们有一个textarea,用户使用空格填充并使用预览按钮进行测试。我想更改此项以允许文本自动居中对齐。我认为这意味着只需在后端逐行添加空格,并添加正确的换行符。

我能想到的唯一方法就是将最长的行作为int,然后从中减去后续行,然后将结果跳过两次,然后在正面和背面添加许多空格。

是否有一种更清洁,更优雅的方法来解决这个问题?有没有方法在对话框中实际对齐文本?

我考虑过像TinyMCE这样的东西,但我认为它有点矫枉过正,因为本质上是一个150个字符,4-5行字符串。

2 个答案:

答案 0 :(得分:0)

This page有一个有用的javascript函数,用于使用填充对中心对齐字符串。假设您正在显示纯文本的固定宽度文本(使用<pre>标签或类似标签),那么您需要获得最长行的长度并相应地填充。如果没有,只需在包含文本的div上设置css:#myDiv { text-align:center; }即可。

答案 1 :(得分:0)

在PHP方面,你可以这样做。

$lines=array();
foreach (explode("\n",wordwrap($str,$len=80)) as $line)
  $lines[]=str_pad($line,$len,' ',STR_PAD_BOTH);
echo implode("\n",$lines);

Javascript版本应该很容易编写。