作者 主題: 請教關於搜尋取代\r  (閱讀 2685 次)

0 會員 與 1 訪客 正在閱讀本文。

itw

  • 憂鬱的高中生
  • ***
  • 文章數: 117
    • 檢視個人資料
請教關於搜尋取代\r
« 於: 2010-01-08 10:40 »
請問一下,關於搜尋取代\r,當我使用以下程式碼1時,他無法幫我搜尋取代成\n
當我改成程式碼2就可以,記得這些字元(\n,\r)在雙引號下才有作用,所以當我們在搜尋取代時是否要利用單引號去找
不知道我的觀念對不對
謝謝

程式碼1
$a = $_POST['a'];
if (strpos($a,"\r") !== FALSE)
{
    $a = str_replace(array("\r\n", "\r"), "\n", $a);
}

程式碼2
$a = $_POST['a'];
if (strpos($a,'\r') !== FALSE)
{
    $a= str_replace(array('\r\n', '\r'), "\n", $a);
}
« 上次編輯: 2010-01-08 10:43 由 itw »

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 請教關於搜尋取代\r
« 回覆 #1 於: 2010-01-08 11:05 »
請問一下,關於搜尋取代\r,當我使用以下程式碼1時,他無法幫我搜尋取代成\n
當我改成程式碼2就可以,記得這些字元(\n,\r)在雙引號下才有作用,所以當我們在搜尋取代時是否要利用單引號去找
不知道我的觀念對不對
謝謝

程式碼1
$a = $_POST['a'];
if (strpos($a,"\r") !== FALSE)
{
    $a = str_replace(array("\r\n", "\r"), "\n", $a);
}

程式碼2
$a = $_POST['a'];
if (strpos($a,'\r') !== FALSE)
{
    $a= str_replace(array('\r\n', '\r'), "\n", $a);
}
$a = str_replace(array("\r\n", "\r"), "\n", $a);一行就可以了
str_replace 沒有就不會取代

itw

  • 憂鬱的高中生
  • ***
  • 文章數: 117
    • 檢視個人資料
回覆: 請教關於搜尋取代\r
« 回覆 #2 於: 2010-01-08 11:18 »
請問一下,關於搜尋取代\r,當我使用以下程式碼1時,他無法幫我搜尋取代成\n
當我改成程式碼2就可以,記得這些字元(\n,\r)在雙引號下才有作用,所以當我們在搜尋取代時是否要利用單引號去找
不知道我的觀念對不對
謝謝

程式碼1
$a = $_POST['a'];
if (strpos($a,"\r") !== FALSE)
{
    $a = str_replace(array("\r\n", "\r"), "\n", $a);
}

程式碼2
$a = $_POST['a'];
if (strpos($a,'\r') !== FALSE)
{
    $a= str_replace(array('\r\n', '\r'), "\n", $a);
}
$a = str_replace(array("\r\n", "\r"), "\n", $a);一行就可以了
str_replace 沒有就不會取代
先謝謝了
我剛剛利用
$a = str_replace(array("\r\n", "\r"), "\n", $a);無法取代
但用
$a = str_replace(array('\r\n', '\r'), "\n", $a);卻可以
不知道為什麼?

kiang

  • 活潑的大學生
  • ***
  • 文章數: 310
    • 檢視個人資料
    • 就這間電腦工作室
回覆: 請教關於搜尋取代\r
« 回覆 #3 於: 2010-01-10 08:30 »
因為雙引號裡面的內容會被轉換,單引號裡面的內容一律當作字串

http://tw2.php.net/manual/en/language.types.string.php
****************************************************
Finjon Kiang / 江明宗
Just This Computer Studio / 就這間電腦工作室
Website: http://olc.tw
****************************************************