Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何对元素的最后一个字进行样式化?_Css_Wordpress - Fatal编程技术网

Css 如何对元素的最后一个字进行样式化?

Css 如何对元素的最后一个字进行样式化?,css,wordpress,Css,Wordpress,给定一个动态加载的标题(使用PHP/WordPress),是否有一种纯CSS方法来设置最终单词的样式?例如: <h1 class='featured'> This is my page title</h1> 这是我的页面标题 变成 <h1 class='featured'> This is my page <span id="finalWord">title</span></h1> 这是我的页面标题 如果使用CSS是

给定一个动态加载的标题(使用PHP/WordPress),是否有一种纯CSS方法来设置最终单词的样式?例如:

<h1 class='featured'> This is my page title</h1>
这是我的页面标题
变成

<h1 class='featured'> This is my page <span id="finalWord">title</span></h1>
这是我的页面标题
如果使用CSS是不可行的,那么分解
标签的内容是建议的方法吗

有没有一种纯粹的CSS样式设计方法 最后一句话

原则上没有这种方法。CSS不能修改DOM

获取dom元素的文本,使用您自己的“单词”标准查找最后一个单词,将其包装到span中,并根据结果设置innerHTML

有没有一种纯粹的CSS样式设计方法 最后一句话

原则上没有这种方法。CSS不能修改DOM


获取dom元素的文本,使用您自己的“单词”标准查找最后一个单词,将其包装到span中,并根据结果设置innerHTML。

AFAIK CSS中没有
:last word
伪类(尽管这很酷)。您可以使用JavaScript实现类似的功能,但如果您可以访问
服务器端,我会使用PHP。这将是源代码的一部分,可能更容易


一个简单的算法是用找到字符串中的最后一个空格,然后用

将其重新组合在一起,因为CSS中没有
:last word
伪类(尽管这很酷)。您可以使用JavaScript实现类似的功能,但如果您可以访问
服务器端,我会使用PHP。这将是源代码的一部分,可能更容易


一个简单的算法是用找到字符串中的最后一个空格,然后用

将其重新组合起来。我想一个非常粗糙的方法是创建一个指向所有单词的方法,并将其放入PHP
数组中。然后
回显所有值,如果是最后一个值,则将
放在前面,将
放在后面

例:

步骤1:创建阵列

$your_text  = "Your text goes here";
$pieces = explode(" ", $your_text);
现在,所有数据都在一个数组中。每个词都在它的宾语中

echo "<h1 class='featured'>";

$the_count = count($pieces);

foreach ($your_text as $i => $value) {
    $i = $i + 1;
    if ($i == $the_count) { echo "<span id='finalWord'>"; }
    echo $value;
    if ($i == $the_count) { echo "</span>"; }
}

echo "</h1>";
echo”“;
$the_count=计数(件);
foreach($i=>$value){
$i=$i+1;
如果($i=$u计数){echo”“;}
echo美元价值;
如果($i=$u计数){echo”“;}
}
回声“;
因此,这段代码基本上是计算数组中有多少个对象,并检查显示的对象是否是最后一个。如果是,它将在其上放置正确的ID

我只是很快地把这段代码打出来,所以可能会有一些错误


库尔顿

我想一个非常粗糙的方法是创建一个指向所有单词的方法,并将其放入PHP
数组
。然后
回显所有值,如果是最后一个值,则将
放在前面,将
放在后面

例:

步骤1:创建阵列

$your_text  = "Your text goes here";
$pieces = explode(" ", $your_text);
现在,所有数据都在一个数组中。每个词都在它的宾语中

echo "<h1 class='featured'>";

$the_count = count($pieces);

foreach ($your_text as $i => $value) {
    $i = $i + 1;
    if ($i == $the_count) { echo "<span id='finalWord'>"; }
    echo $value;
    if ($i == $the_count) { echo "</span>"; }
}

echo "</h1>";
echo”“;
$the_count=计数(件);
foreach($i=>$value){
$i=$i+1;
如果($i=$u计数){echo”“;}
echo美元价值;
如果($i=$u计数){echo”“;}
}
回声“;
因此,这段代码基本上是计算数组中有多少个对象,并检查显示的对象是否是最后一个。如果是,它将在其上放置正确的ID

我只是很快地把这段代码打出来,所以可能会有一些错误


库尔顿

很抱歉对一篇古老的帖子进行了后续报道,这是我在谷歌搜索“使用php将最后一个单词用一个带span标记的字符串包装”时发现的帖子,所以我想这就是我提出的解决方案

以上述内容为起点,我创建了此函数以完成我所需的工作:

function wrap_last($string, $wrap_start = '<span class="font-bold">', $wrap_finish = '</span>') {
    $string_array = explode(' ', $string);
    $count = count($string_array);
    $new_array = array();
    foreach ($string_array as $i => $value) {
        $i = $i + 1;
        $array_part = '';
        if ($i == $count) {
             $array_part .= $wrap_start;
         }
         $array_part .= $value;
         if ($i == $count) {
             $array_part .= $wrap_finish;
        }
        $new_array[] = $array_part;
    }
    $new_string = implode(' ', $new_array);
    return $new_string;
}
函数wrap\u last($string,$wrap\u start='',$wrap\u finish=''){
$string_数组=分解(“”,$string);
$count=count($string\u数组);
$new_array=array();
foreach($string_数组为$i=>$value){
$i=$i+1;
$array_part='';
如果($i==$count){
$array\u part.=$wrap\u start;
}
$array_part.=$value;
如果($i==$count){
$array\u part.=$wrap\u finish;
}
$new_array[]=$array_part;
}
$new_string=内爆(“”,$new_数组);
返回$new_字符串;
}

很抱歉对一篇古老的帖子进行了后续报道,这是我在谷歌搜索中发现的“使用php将最后一个单词用一个带span标记的字符串包装”的帖子,所以我想这就是我提出的解决方案

以上述内容为起点,我创建了此函数以完成我所需的工作:

function wrap_last($string, $wrap_start = '<span class="font-bold">', $wrap_finish = '</span>') {
    $string_array = explode(' ', $string);
    $count = count($string_array);
    $new_array = array();
    foreach ($string_array as $i => $value) {
        $i = $i + 1;
        $array_part = '';
        if ($i == $count) {
             $array_part .= $wrap_start;
         }
         $array_part .= $value;
         if ($i == $count) {
             $array_part .= $wrap_finish;
        }
        $new_array[] = $array_part;
    }
    $new_string = implode(' ', $new_array);
    return $new_string;
}
函数wrap\u last($string,$wrap\u start='',$wrap\u finish=''){
$string_数组=分解(“”,$string);
$count=count($string\u数组);
$new_array=array();
foreach($string_数组为$i=>$value){
$i=$i+1;
$array_part='';
如果($i==$count){
$array\u part.=$wrap\u start;
}
$array_part.=$value;
如果($i==$count){
$array\u part.=$wrap\u finish;
}
$new_array[]=$array_part;
}
$new_string=内爆(“”,$new_数组);
返回$new_字符串;
}

在服务器端生成时,很容易知道最后一个单词并将其总结。@Kobe:当然,只是我不确定这是否通常被视为“最佳实践”,也希望知道其他方法。在服务器端生成时,很容易知道最后一个单词并总结。@Kobe:当然,只是我不确定这是否被普遍认为是一种“最佳实践”,我也想知道替代方案。不是伪类,而是伪元素。但无论如何,没有这样的事情。原因很简单:像“word”这样的实体并没有共同的概念。谢谢你们提供的CSS信息,我隐约希望会有一个psuedo cla