php之将主题标签转换为链接

lyj 阅读:131 2025-02-15 21:57:57 评论:0

现在我的第二个问题是,我的脚本无法识别第二个主题标签。
例如,

#heavy / machine gun #test 

返回:
<a href="tag.php?id=heavy+">#heavy</a> / machine gun #test 

我的代码是:
$words = preg_split("/(#[^\s+[:space:]]+ )/", $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); 
foreach($words as $var => $value) 
{ 
    if($value[0]=='#') 
    { 
     $test[$var]='<a href="tag.php?id='.urlencode(substr($value,1)).'"> '.$value.'</a>'; 
 
     $str=str_replace($value,$test[$var],$descrip); 
    }  
} 

第一个标签是一个链接,但不是第二个......

提前致谢,
杰瑞米。

请您参考如下方法:

<?php  
$text = "#heavy / machine gun #test"; 
 
$text = preg_replace('/#(\w+)/', '<a href="tag.php?id=$1">#$1</a>', $text); 
// or 
// $text = preg_replace('/#([^\s+[:space:]]+)/', '<a href="tag.php?id=$1">#$1</a>', $text); 
 
echo $text; 

html 输出
<a href="tag.php?id=heavy">#heavy</a> / machine gun <a href="tag.php?id=test">#test</a> 

视觉输出

#heavy/机枪 #test


标签:PHP
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号