目前我正在使用下面的代码段,它使用多个空格字符缩进生成的HTML:
add_filter('get_search_form', 'filter_search_form');
function filter_search_form($form) {
$form = ' <form role="search" method="get" id="searchform" action="' . home_url('/') . '"><input type="text" placeholder="' . __('Search') . '" value="' . get_search_query() . '" name="s" id="s"><input type="submit" id="searchsubmit" value="' . esc_attr__('Search') . '"></form>' . "\n";
return $form;
}
现在我一直在阅读一些关于空格字符的内容(\t
用于制表符,\n
用于换行符等等),但我不完全确定如何在这种情况下实现这一点。
我已经尝试将\s
用于单个空间,但没有任何运气。
相对较新的PHP,我希望你能提供帮助(最好不要使用'常规'空格字符)。
答案 0 :(得分:3)
根据http://php.net/manual/en/regexp.reference.escape.php,一般十六进制转义序列\x20
应该有效,\040
(八进制)也应如此。
但就个人而言,我没有看到以这种方式指定空格的好处(如果有的话),因为它会使你的代码更不易读,恕我直言。只需在你的单引号或双引号中加入文字空格(就像你现在一样)并完成它。
或者,如果您尝试使用空格来缩进生成的HTML代码(就像您看到的那样),那么以\t
为单位这样做并不是世界末日。
答案 1 :(得分:2)
\t
和\n
等字符需要用双引号...
$string = "\t" . '<form></form>';
答案 2 :(得分:1)
如果要在其前面插入标签,可以使用:
$string = "\t" . '<form>....';
(不要忘记双引号,单引号不能与\ t,\ n和朋友一起使用!)
如果你想要空格,只需使用空格!
$string = " " . '<form>....';
这是HTML代码,因此它们将出现在您网页的源代码中。它们不会“折叠”成一个空间。