Php显示为html文本的新行\ n

时间:2014-09-12 09:01:14

标签: php pre

我使用echo来显示结果,但结果包含换行符/ n / t / r。

我想知道结果是\ n还是\ t或\ r \ n是多少。我需要知道,所以我可以在html标签中替换它,如

结果来自其他网站。

In pattern CreditTransaction/CustomerData: 



        Email does not contain any text

In pattern RecurUpdate/CustomerData:      



    Email does not contain any text

In pattern AccountInfo: 

我想要这样。

In pattern CreditTransaction/CustomerData: 
    \n
    \n
    \n  
      \n\tEmail does not contain any text
      \n
In pattern RecurUpdate/CustomerData:      
    \n
    \n
      \n
    \n\tEmail does not contain any text

\n\tIn pattern AccountInfo: 

2 个答案:

答案 0 :(得分:1)

您的问题尚不清楚,但我会尽力提供答案。

如果你想在输出中看到\ n,\ r和\ t,你可以手动取消它们:
str_replace("\n", '\n', str_replace("\r", '\r', str_replace("\t", '\t', $string)));

或者如果你想要浏览所有转义的字符:
addslashes($string);

计算特定字符/子字符串出现的次数:
substr_count($string, $character_or_substring);

检查字符串是否包含特定字符/子字符串:
if (substr_count($string, $character_or_substring) > 0) { // your code }
或者:
if (strpos($string, $character_or_substring) !== false) { // notice the !== // your code }

如前面其他人在评论中提到的,如果您想将换行符转换为br标签:
nl2br($string);

如果要缩进制表符,可以使用 替换所有制表符:
str_replace("\t", ' ', $string);

答案 1 :(得分:0)

使用双引号查找换行符和制表符。

$s = "In pattern CreditTransaction/CustomerData: 



    Email does not contain any text

  In pattern RecurUpdate/CustomerData:  ";

echo str_replace("\t", "*", $s);  // Replace all tabs with '*'
echo str_replace("\n", "*", $s);  // Replace all newlines with '*'