Я не нашел универсальный метод еще, но традиционная реализация кода (который может быть медленнее) работает:
function pos_first_letter($haystack) {
$ret = false;
if (!empty($haystack)) {
$l = strlen($haystack);
$t = false;
for ($i=0; $i < $l; $i++) {
if (!$t && ($haystack[$i] == '<')) $t = true;
elseif ($t && ($haystack[$i] == '>')) $t = false;
elseif (!$t && !ctype_space($haystack[$i])) {
$ret = $i;
break;
}
}
}
return $ret;
}
Тогда звоните:
$i = pos_first_letter($your_string);
if ($i !== false) {
$output = substr($s, 0, $i);
$output .= '<span>' . substr($s, $i, 1) . '</span>';
$output .= substr($s, $i+1);
}
Они почти все работают в IE7, и все они работают в IE8. У IE6 есть проблемы, но у него есть проблемы с множеством вещей. –
http://w3fools.com/ –