Php整洁和文本区域

问题描述 投票:8回答:4

我正在使用tidy清理和格式化twig template engine生成的HTML的输出。

我正在使用以下配置进行整理:

$config = array('indent' => TRUE, 'output-html' => TRUE, 'wrap' => 0);

除了进入文本区域外,一切都很好,很好。

这里是未清理的片段:

<textarea id="words"
         rows="10"       cols="50"                  >sdfds</textarea>

虽然格式非常混乱,但是正确的值在文本区域中输出:'sdfds',前后没有空格。

这是使用整洁后的清理格式:

                <textarea id="words" name="words" rows="10" cols="50" title="prompt">
sdfds
</textarea>

可以看出,现在的标记更加整洁,但是整洁的在'sdfds'之后引入了换行符,这意味着在浏览器中查看时,光标现在指向'sdfds'之后的行。

这很烦人,我不确定该如何处理。我仍然希望清理textarea标记,但是我希望将其格式化为:

<textarea id="words" name="words" rows="10" cols="50" title="prompt">sdfds</textarea>

以前有人处理过这个问题吗?如果是这样,我如何整齐不为textarea标签引入这些空格?

php textarea tidy
4个回答
0
投票

如果sdfds与php输出,则需要添加另一个配置选项。

 $config = array('indent' => TRUE, 'output-html' => TRUE, 'wrap' => 0, 'wrap-php' => 0);

仅包装对html的担心,任何php语句均视为换行。有关配置选项的更多信息,您可以访问:http://tidy.sourceforge.net/docs/quickref.html


0
投票

当您使用缩进=> true时,您会把整洁的德克萨斯州弄得一团糟。它变得整洁,因为即使textareas值也缩进了。如果您希望文本区域显示正确,则可以设置缩进=> false。这将整理您的HTML,但在应用后,文本区域也将保持相同的值。我已经看到有一些补丁可以解决问题,但是您应该自己整理一下。您也可以使用PHP来做到这一点,但随后您要进行整理。


0
投票

整理有时可能会成为“混乱”,并且需要通过rexep进行进一步细化,这是一种变通方法,可以将光标置于最终输出的同一行上,因此可用性不会受到影响。只需运行整理过的html槽即可:

$subject = preg_replace('%(\r\n|\n)(?=</textarea>)%sim', '', $subject);

-1
投票

只需对文本区域使用修剪功能。然后您将得到想要的

© www.soinside.com 2019 - 2024. All rights reserved.