2016-08-29 3 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); 

しかし、私はそうI」は、私は私が見るものを正規表現を参照したいと思い、この$テキスト文字列に間隔を正確にどのような種類で見てみたいと思い、それを行う前に、かなりの試行錯誤を繰り返しています。実際の$文字列は実際ははるかに複雑で、ときにはタブの改行があり、わたしは認識していないような疑いがあります。

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

それは、スペースやタブや改行を変換するが、彼らが何であるかを出力しません。だから私は、たとえば、見るものを正規表現見てみたいと思います。これはどうですか?私はこの$ text文字列をpreg_matchに渡したときにPHPがどのように見えるかを見たいと思います。おかげ

+1

なぜ '\ S'を使用して改行文字(そしておそらく他の人)を見ることができますか? '\ s'は任意の空白を意味します。 –

+0

改行をエスケープするには、['addcslashes'](http://php.net/addcslashes)を使用してください。または['strtr'](http://php.net/strtr)も同様です。 – mario

+1

あなたが何をしていても、その文字列から改行を得ることはできません。 2つの文字列を連結しただけです。 '$ text'には、とりわけ、「単語」「textA」が含まれています。 – Chris

答えて

0

あなたがjson_encode()

$string = 'something 
      something'; 

echo json_encode($string); 

// outputs something \nsomething 
関連する問題