我正在使用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标签引入这些空格?
如果sdfds与php输出,则需要添加另一个配置选项。
$config = array('indent' => TRUE, 'output-html' => TRUE, 'wrap' => 0, 'wrap-php' => 0);
仅包装对html的担心,任何php语句均视为换行。有关配置选项的更多信息,您可以访问:http://tidy.sourceforge.net/docs/quickref.html
当您使用缩进=> true时,您会把整洁的德克萨斯州弄得一团糟。它变得整洁,因为即使textareas值也缩进了。如果您希望文本区域显示正确,则可以设置缩进=> false。这将整理您的HTML,但在应用后,文本区域也将保持相同的值。我已经看到有一些补丁可以解决问题,但是您应该自己整理一下。您也可以使用PHP来做到这一点,但随后您要进行整理。
整理有时可能会成为“混乱”,并且需要通过rexep进行进一步细化,这是一种变通方法,可以将光标置于最终输出的同一行上,因此可用性不会受到影响。只需运行整理过的html槽即可:
$subject = preg_replace('%(\r\n|\n)(?=</textarea>)%sim', '', $subject);
只需对文本区域使用修剪功能。然后您将得到想要的