2016-08-29 81 views
0

我有一個帶空格和換行符的文本字符串。有時標籤。例如將 s或 n等特殊字符打印爲' s'或' n'

$text = 'Hello I am chunk of text 
     A new line follows'; 

然後我用preg_match做一些匹配。

例如:

preg_match('/Hello I am\s*/',$a,$b); 

但在此之前我這樣做,我想看看到底是什麼樣的間距是這個$文本字符串,所以我想看看所看到的正則表達式,否則我」在做一些嘗試和錯誤的時候。我真正的$文本字符串實際上要複雜得多,有時候會有換行符,而且我懷疑某種分離方式我不知道。所以我想看看所看到的正則表達式,例如:

Hello\sI\am\tchunk\s\sof\stext\nA\snew\sline\sfollows 

它不轉化的空間和製表符和新線,但打印它們是什麼。這是如何完成的?我想看看當我通過這個$文本字符串進入preg_match時,php會看到什麼。由於

+1

爲什麼'\ s'看到換行符(或者其他人)? '\ s'表示任何空格。 –

+0

使用['addcslashes'](http://php.net/addcslashes)逃脫換行符。或者['strtr'](http://php.net/strtr)來代替空格。 – mario

+1

不管你做什麼,你都不會從那個字符串中得到換行符,因爲它不包含任何換行符。你剛剛連接了兩個字符串。 '$ text'除其他外包含「word」'textA'。 – Chris

回答

0

您可以通過使用json_encode()

$string = 'something 
      something'; 

echo json_encode($string); 

// outputs something \nsomething 
相關問題