如何从字符串中提取某些文本

时间:2015-04-27 10:21:51

标签: php string substring

我的字符串是这样的:

hi my best friend #John How Are You?

我想从字符串中提取名称:

john

此字符串只有一个名称,它可以是字符串所具有的任意数量的名称。我想在#[space]之间获取字符串。

我尝试过使用explode()foreach()循环,但我无法获得此值。

5 个答案:

答案 0 :(得分:0)

$text = "hi my best friend #John How Are You?";

preg_match_all("/(#\w+)/", $text, $matches);

var_dump( $matches );

答案 1 :(得分:0)

试试这个

 <?php
$string="hi my best friend #John How Are You?";
preg_match('/(?<=hi my best friend #)\S+/i', $string, $match);
echo $match[0];

输出

Jhon

答案 2 :(得分:0)

试试这个,

    $(':radio').change(
      function(){
        $('.choice').text( this.value + ' stars' );
      } 
    )

答案 3 :(得分:0)

正则表达式可以正常运行,但如果您仍想使用explode()和循环执行此操作,可以尝试以下代码: -

$str="Hello my name is #John and this is my friend #julia"; $exp=explode(" ",$str);//exploding string from space

foreach($exp as $key=>$val){ if(strpos($val,"#")===false){continue;   } else{$new[$k]=str_replace("#","",$val);}

}

print_r($new);

希望这对你有所帮助。

答案 4 :(得分:0)

这是一个快速工作的例子     

$string = "hi my best friend #John How Are You?";

$explodedstring = explode('#', $string);

$explodedforspace = explode(' ',$explodedstring[1]);

echo $explodedforspace[0];


?>