2
我試圖preg_match_all從用戶輸入中得到的字符串,該字符串中有一個撇號。首先,我用一個普通的字符串對它進行測試,看它是否匹配,並且確實匹配。但是,當我試圖在相同的用戶輸入字符串上進行測試時,它不起作用。我認爲這是因爲用戶輸入中的撇號在我比較之前會被轉義。使用preg_match_all查找帶有撇號字符串的字符串
$temp1 = "I'm a person.";
preg_match_all('/I\'m\s+(.+)/i', $temp1, $matches);
$temp1 = $matches[1][0];
echo $temp1;
輸出: 的人。
然而,因爲我是從用戶輸入獲得$溫度和轉義撇號,逃離了撇號時,它需要它完成,因此,它不匹配:
$temp2 = "I\'m a person.";
preg_match_all('/I\'m\s+(.+)/i', $temp2, $matches);
$temp2 = $matches[1][0];
echo $temp2;
輸出:空值。
我該如何解決這個問題?謝謝。
使用其中4個給我一個內部網絡錯誤。 – jessica
[看這段代碼在這裏工作](http://ideone.com/bmAVuu) – anubhava
我不得不說,所有這些逃跑是有點怪,哈哈。但它的工作原理。謝謝。 – jessica