$str=\':this is a applepie :) \';
How to use PHP, Remove the first character :
The substr() function will probably help you here:
$str = substr($str, 1);
Strings are indexed starting from 0, and this functions second parameter takes the cutstart. So make that 1, and the first char is gone.
Trims occurrences of every word in an array from the beginning and end of a string + whitespace and optionally extra single characters as per normal trim()
<?php
function trim_words($what, $words, $char_list = '') {
if(!is_array($words)) return false;
$char_list .= " \t\n\r\0\x0B"; // default trim chars
$pattern = "(".implode("|", array_map('preg_quote', $words)).")\b";
$str = trim(preg_replace('~'.$pattern.'$~i', '', preg_replace('~^'.$pattern.'~i', '', trim($what, $char_list))), $char_list);
return $str;
}
// for example:
$trim_list = array('AND', 'OR');
$what = ' OR x = 1 AND b = 2 AND ';
print_r(trim_words($what, $trim_list)); // => "x = 1 AND b = 2"
$what = ' ORDER BY x DESC, b ASC, ';
print_r(trim_words($what, $trim_list, ',')); // => "ORDER BY x DESC, b ASC"
?>
To remove first Character of string in PHP,
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"
Exec time for the 3 answers :
Remove the first letter by replacing the case
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
Exec time for 1.000.000 tests : 0.39602184295654
sec
Remove the first letter with substr()
$str = "hello";
$str = substr($str, 1);
Exec time for 1.000.000 tests : 5.153294801712
sec
Remove the first letter with ltrim()
$str = "hello";
$str= ltrim ($str,'h');
Exec time for 1.000.000 tests : 5.2393000125885
sec
Remove the first letter with preg_replace()
$str = "hello";
$str = preg_replace('/^./', '', $str);
Exec time for 1.000.000 tests : 6.8543920516968
sec
Use substr:
$str = substr($str, 1); // this is a applepie :)
After further tests, I don't recommend using this any more. It caused a problem for me when using the updated string in a MySQL query, and changing to substr
fixed the problem. I thought about deleting this answer, but comments suggest it is quicker somehow so someone might have a use for it. You may find trimming the updated string resolves string length issues.
Sometimes you don't need a function:
$str[0] = '';
For example:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
This method modifies the existing string rather than creating another.