Причина, по которой вы не видите изменений, заключается в том, что вы отбрасываете результат preg_replace
. Вам необходимо присвоить его обратно переменной:
//Match the pound sign in the beginning
if (preg_match("/^#/", $str)){
//If it's there, remove it
$str = preg_replace('/^#/', '', $str);
};
Однако обратите внимание, что вызов preg_match
полностью избыточен. Вы уже проверяете, существует ли он в preg_replace
! :) Поэтому просто сделайте это:
//If there is a pound sign at the beginning, remove it
$str = preg_replace('/^#/', '', $str);