快速的问题,修改变量字符串
我有以下的字符串,它是标签昏迷分隔列表:
$tagcap = "tag1, tag2, tag3";
我如何去获得一个字符串,看起来像这样:
$string = "#tag1, #tag2, #tag3;
换句话说,只需在每个单词的前面添加#
谢谢!
编辑:
非常感谢,这似乎是完美的,除了它也增加了词与连字符#盈,例如:自拍变得#自#出手,我怎么能解决这个问题?
编辑2:感谢您的快速帮助球员,问题修复!
快速的问题,修改变量字符串
我有以下的字符串,它是标签昏迷分隔列表:
$tagcap = "tag1, tag2, tag3";
我如何去获得一个字符串,看起来像这样:
$string = "#tag1, #tag2, #tag3;
换句话说,只需在每个单词的前面添加#
谢谢!
编辑:
非常感谢,这似乎是完美的,除了它也增加了词与连字符#盈,例如:自拍变得#自#出手,我怎么能解决这个问题?
编辑2:感谢您的快速帮助球员,问题修复!
$tagcap = "tag1, tag2, self-shot";
echo preg_replace("/([a-z0-9-_]+)/i", "#$1", $tagcap);
,输出:
#tag1, #tag2, #self-shot
这个前缀任何系列的字母,数字,破折号( - ),或强调用哈希(#) 。
使用正则表达式:
$str = preg_replace('/(\w+)/', '#$1', $str);
更新:
要包括-
字符,使用
$str = preg_replace('/([a-z0-9-]+)/i', '#$1', $str);
凡([a-z0-9]+)
将任何字母,数字,和-
字符相匹配。 i
标志将使其不区分大小写。
试试这个:
$tagcap = "tag1, tag2, tag3";
$tagcap = str_replace("t","#t",$tagcap);
echo $tagcap;
你也可以用这个,但是这是用PHP函数其他替代。
<?php
$tagcap = "tag1, tag2, tag3";
$res = explode(',',$tagcap);
$values = array();
foreach($res as $key=>$value){
if(isset($value)){
$values[] = '#'.$value;
}
$finalResult = implode('',$values);
echo $finalResult;
}
?>
这里的另一种解决方案,而正则表达式:
$string = "tag1,tag2,tag3";
function addPrefix(&$item,$key,$prefix)
{
$item = $prefix.$item;
}
$arr = explode(",",$string);
array_walk($arr,"addPrefix","#");
echo implode($arr,","); //output "#tag1,#tag2,#tag3"
,如果这是真的你的字符串,str_replace()函数,但我敢打赌,它不是。你需要帮助吗? – 2012-06-07 07:24:01