Pipe Girl,
I think it's because the sequence of characters you put after your 'to-be-trimmed' string isn't a sequence ... it's a series, so:
$string = "<p><b>text text";
print ltrim($string, "<p>");
isn't telling it to trim out "<p>" ... it's telling it to trim out '<' characters, 'p' characters, and '>' characters ... so when it comes across your 'b' it stops.
It'd suggests using some variation of str_replace() and replacing your <p> with "".
// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
Trouble there is ... I don't know how to limit it to looking at only the first characters. Sorry, but I don't really know much about this stuff. Hope that helps a lil'.
Your other option would be to use an ereg_replace() function ...
http://us3.php.net/manual/en/function.ereg.php