2014-12-05 25 views
1

我有一個腳本,輸出陣列,當陣列中的每個項目被打印出來,給我PHP的preg_replace空白後的所有字符中的每一行

https://media.com/2db93b9.jpg Ann 
https://media.com/3198676.jpg Lin 
https://media.com/ David 
https://media.com/0f48c22.jpg Ulrich 
https://media.com/135f3b7.jpg David 

我想放棄的空間,之後的所有其他具有以下的preg_replace

foreach($rows as $row) { 
    $row = preg_replace("[\\ ].*", "", $row); 
    echo $row . '<br />'; 
} 

http://regexr.com,我的這種模式應該工作。但是,當我已經嘗試/[\\ ].*/g[\\ ].*。兩者都不起作用。它說php遇到了一個未知的修飾符。顯然,我不是正規表達專家,我很樂意提供任何幫助。

回答

2

您需要使用:

$row = preg_replace('/ .*$/', "", $row); 

或者:

$row = preg_replace('/\s.*$/', "", $row); 
  • 正則表達式需要
  • 正確的正則表達式應該在空間和一切後使用.*$
  • 在PHP中的分隔符
  • \s符合搜索空間或選項卡或換行
+0

嗯,就是這樣。然而,我錯誤地認爲這是一個空格將URL和名稱分開。事實證明,它既可以是空白也可以是換行符,也可以是換行符。只有在瀏覽器中打印時,它看起來像一個空白。我如何管理? – jeffimperial 2014-12-05 14:15:38

+0

只需使用:'$ row = preg_replace('/ \ s。* $ /',「」,$ row);'其中'\ s'將匹配**空格或製表符或換行** – anubhava 2014-12-05 14:19:31

+1

甜!這工作,謝謝! – jeffimperial 2014-12-05 14:39:36

相關問題