2014-10-09 41 views
0

我需要從'文本#'中取'文本'。我試試這個代碼:在php中使用preg_replace之前選擇文本

echo preg_replace('/(.*)\#/', '', 'text#'); 

但它不起作用。我的錯誤在哪裏?

+0

你這話是什麼呢? – Tushar 2014-10-09 14:31:32

+0

什麼'不工作'? – Toto 2014-10-09 14:32:01

+0

你只需要閱讀一個基本的教程,你試圖做的事情是非常簡單的。 – 2014-10-09 14:33:07

回答

1

您忘了提及你的「文字」 - 看到$1

echo preg_replace('/(.*)\#/', '$1', 'text#'); 
0

,而不是使用正則表達式完成這個任務,你可能(或實際上應該)只使用strpossubstr

echo substr_before('test#', '#')."\n"; // test# -> test 
echo substr_before('foo#bar', '#'); // foo#bar -> foo 

function substr_before($haystack, $needle) { 
    // check if $haystack contains $needle, if so directly get the index of $needle 
    if (($index = strpos($haystack, $needle)) !== false) { 
     // chop off $needle and everything that trails it 
     return substr($haystack, 0, $index); 
    } 
    return $haystack; 
} 

Example