PHP-从文本中分离第一个字母
我有一套文章,我想在其中设计每篇文章的第一个字母(使用CSS) 文章通常以段落开头,如:PHP-从文本中分离第一个字母,php,html,string,Php,Html,String,我有一套文章,我想在其中设计每篇文章的第一个字母(使用CSS) 文章通常以段落开头,如: <p> bla bla </p> bla bla 那么,我如何将本文中的第一个字母包装在一个标记中呢?您可以在所有CSS中这样做 CSS支持“伪元素”,您可以在其中选择第一个字母/第一个单词,并将其格式化为与文档其他部分不同的格式 有一个兼容性图表;其中一些可能在IE 6中不起作用 除非您需要做一些非常奇特的事情,否则还有一个问题。您可以添加一个Php span,但可能没有那么
<p> bla bla </p>
bla bla
那么,我如何将本文中的第一个字母包装在一个标记中呢?您可以在所有CSS中这样做 CSS支持“伪元素”,您可以在其中选择第一个字母/第一个单词,并将其格式化为与文档其他部分不同的格式 有一个兼容性图表;其中一些可能在IE 6中不起作用
除非您需要做一些非常奇特的事情,否则还有一个问题。
您可以添加一个Php span,但可能没有那么干净
$s=“la”;
$strip=trim(strip_标签($s));
$t=爆炸(“”,$strip);
$first=$t[0]
//然后将第一个字符替换为其周围的span
$replace=preg_replace(“/^?/”、“$1”、$first)
//然后替换字符串中该单词的第一次
$s=preg_replace(“/”.$first.“/”,$replace,$s,1)
echo$s
//未经测试我还没有找到一种通用的方法,但传统的代码实现(可能较慢)可以工作:
函数位置首字母($haystack){
$ret=假;
如果(!空($haystack)){
$l=strlen($haystack);
$t=假;
对于($i=0;$i<$l;$i++){
如果(!$t&($haystack[$i]='')$t=false;
elseif(!$t&&!ctype_空间($haystack[$i])){
$ret=$i;
打破
}
}
}
返回$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);
}
$i=pos\u首字母($your\u字符串);
如果($i!==false){
$output=substr($s,0,$i);
$output.=''.substr($s,$i,1)。'';
$output.=substr($s,$i+1);
}
它们几乎都在IE7和IE8中工作。IE6有问题,但它有很多问题。
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);
}