我運行下面的代碼:的preg_replace心不是工作
$filename = 'bla.mp4';
echo preg_replace('/\.(m4a|wav|ogg|flac|avi|flv|mov|wmv|m3u|mid|wma|webm|mkv|asf|mp(\d+)|aif(?:f?)|3gp(?:p?)|mp(eg(\d+)?|g(\d+)?))/g', '', $filename);
但是我沒有得到任何輸出,它肯定將回聲「喇嘛」,但它並不顯示任何內容。
我運行下面的代碼:的preg_replace心不是工作
$filename = 'bla.mp4';
echo preg_replace('/\.(m4a|wav|ogg|flac|avi|flv|mov|wmv|m3u|mid|wma|webm|mkv|asf|mp(\d+)|aif(?:f?)|3gp(?:p?)|mp(eg(\d+)?|g(\d+)?))/g', '', $filename);
但是我沒有得到任何輸出,它肯定將回聲「喇嘛」,但它並不顯示任何內容。
PHP PCRE模式不支持g
修改,and as the manual states:
空間和換行符修飾符被忽略,其它字符會導致錯誤。
爲錯誤造成的,preg_replace
works as expected:
如果找到匹配,新的主題將被退回,否則主題將原樣返回或NULL,如果發生錯誤。
您可能已禁用或禁止了代碼中的警告,在開發過程中(並且始終處於生產狀態),您應該永遠不會執行這些警告。檢查您的php.ini文件中是否已啓用display_errors
,以及/或者您的代碼中是否有任何error_reporting(...)
調用。
該代碼給我Warning: preg_replace(): Unknown modifier 'g' in /home/abe/http/htdocs/tmp/test.php on line 3
。如果我刪除尾部g
,可以正常工作。