mrN*_*mrN 39 html php obfuscation whitespace line-breaks
我知道混淆是一个坏主意.但我希望我的所有html代码都有一个很长的单行.所有的html标签都是通过PHP生成的,所以我认为它是可能的.我知道\n\r从正则表达式替换,但不知道如何做到这一点.如果我不清楚这里是一个例子
$output = '<p>
<div class="title">Hello</div>
</p>';
echo $output;
Run Code Online (Sandbox Code Playgroud)
要在源查看器中查看为 <p><div class="title">Hello</div></p>
ser*_*dev 46
也许这个?
$output = str_replace(array("\r\n", "\r"), "\n", $output);
$lines = explode("\n", $output);
$new_lines = array();
foreach ($lines as $i => $line) {
if(!empty($line))
$new_lines[] = trim($line);
}
echo implode($new_lines);
Run Code Online (Sandbox Code Playgroud)
Svi*_*ish 34
你可以试试这个.
// Before any output
ob_start();
// End of file
$output = ob_get_clean();
echo preg_replace('/^\s+|\n|\r|\s+$/m', '', $output);
Run Code Online (Sandbox Code Playgroud)
这应该,除非我弄乱了正则表达式,捕获所有输出,然后替换所有新行字符以及行末和行开头的所有空格.
如果你已经在变量中收集了所有输出,你当然可以直接使用最后一行并跳过输出缓冲的东西:)
Ray*_*ess 14
为我工作:
$output = str_replace(array("\r\n", "\r", "\n"), "", $output);
Run Code Online (Sandbox Code Playgroud)
你可以做 :
$output = '<p>'.
'<div class="title">Hello</div>'.
'</p>';
Run Code Online (Sandbox Code Playgroud)
这样,$output就不会包含任何行跳转.
这应该也有效:
$output = preg_replace(array('/\r/', '/\n/'), '', $output);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93537 次 |
| 最近记录: |