快速的問題,修改變量字符串
我有以下的字符串,它是標籤昏迷分隔列表:
$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