【问题标题】:Style specific words in string after hashtag - php主题标签后的字符串中的特定单词样式 - php
【发布时间】:2016-05-29 10:56:19
【问题描述】:

我的场景:我尝试在字符串中的主题标签之后设置一些名称的样式。

示例:

$string = 'Lorem #Stewie Smith ipsum dolor #Peter Griffin sit amet, consectetuer #Stewie Griffin.';

首先我想把这些名字放在一个数组中,比如:

array(

    [item 1]
    [firstname] => 'Peter'
    [surname] => 'Griffin'

    [item 2]
    [firstname] => 'Stewie'
    [surname] => 'Griffin'

    [item 3]
    [firstname] => 'Stewie'
    [surname] => 'Smith'

)

所以我可以循环遍历数组并检查我的数据库中是否存在名字和姓氏。

数据库数据:

|编号 |名字 |姓氏 |

| 1 |彼得 |格里芬 |

| 2 |斯蒂维 |史密斯 |

在这个验证之后,我喜欢在字符串中的名字和姓氏周围放置一个 div。

谁知道答案?

提前致谢

【问题讨论】:

  • 谁知道答案?我知道!我赢了什么?
  • 非常感谢:D

标签: php arrays find styles


【解决方案1】:

你需要使用正则表达式:

//Regular expression (explained below)
$re = "/\\#([a-zA-Z]*)\\s([a-zA-Z]*)/"; 

//String to search
$str = "Lorem #Stewie Smith ipsum dolor #Peter Griffin sit amet, consectetuer #Stewie Griffin."; 

//Get all matches into $matches variable
preg_match_all($re, $str, $matches);

$matches 现在是:

数组
(
    [0] => 数组
        (
            [0] => #Stewie Smith
            [1] => #彼得格里芬
            [2] => #Stewie Griffin
        )

    [1] => 数组
        (
            [0] => 斯图维
            [1] => 彼得
            [2] => 斯图维
        )

    [2] => 数组
        (
            [0] => 史密斯
            [1] => 格里芬
            [2] => 格里芬
        )

)

因此,每个名称都包含并可以通过以下方式访问:

$matches[0][n] //full match
$matches[1][n] //first name
$matches[2][n] //last name

将其放入数组中:

$names = [];

foreach($matches[0] as $i => $v){
    $names[] = array("firstname" => $matches[1][$i], "lastname" => $matches[2][$i]);
}

现在$names 是:

数组
(
    [0] => 数组
        (
            [名字] => Stewie
            [姓氏] => 史密斯
        )

    [1] => 数组
        (
            [名字] => 彼得
            [姓氏] => 格里芬
        )

    [2] => 数组
        (
            [名字] => Stewie
            [姓氏] => 格里芬
        )

)

从这里,您可以遍历这个数组,检查您的数据库,验证您认为合适的结果,然后对结果数据做任何您想做的事情。

【讨论】:

  • 您先生赢得了“非常感谢您”!谢谢!一整天的编码有时会让你头晕目眩;)
猜你喜欢
  • 1970-01-01
  • 2014-07-17
  • 1970-01-01
  • 2012-06-15
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
相关资源
最近更新 更多