2012-12-05 75 views

回答

0

更新,剛剛意識到我讀錯了。你之前正在尋找東西,而不是之後。更新代碼:

$test_string = 'remember?forget'; 
preg_match('/([^?#&%=]+)/', $test_string, $matches); 
$part_before_char = $matches[1]; 

運行後,$ part_before_char = '記得'

-1
$str = 'mystring#deletedpartofstring'; 

$str = preg_replace('/[?#&%=].+/', '', $str); 
+0

你有正確的想法,但代碼沒有工作 – user962449

+0

它在我的主機上工作..... –

+0

爲什麼它被投票? :/ – user962449

0

這應該工作:

$str = "Hello World#somesuffixstr"; 
preg_match("/^(.*?[?#&%=]).*/", $str, $str); 
echo $str[1]; 
// Should output "Hello World#" 

關於正則表達式模式:
它搜索字符串的開頭(^),然後對於任何字符0次或更多次(它是組#1),那麼這樣的符號如&或%,則任何字符零次或多次。它將字符串替換爲組#1中匹配的字符。

相關問題