我有这个变量,用@将每个单词都变成一个链接。但现在我需要将该值作为变量来创建一个函数。 很难解释所以我会用代码展示它。
$text = preg_replace( "/@([^\s]+)/", "<a href=\"profile.php?id=$1\" class=\"at\">@$1</a>", $text);
这是变量,我想要的是$1
变成一个变量。我试图解决这个问题,但我不能因为我不知道该怎么做。我怎么能这样做?
提前致谢!
答案 0 :(得分:2)
function makeALink($value) {
// Do something here with $value, for example make a link
return "<a href=\"profile.php?id=$value\" class=\"at\">@$value</a>";
}
$text = preg_replace_callback("/@([^\s]+)/", "makeALink", $text);
答案 1 :(得分:0)
只需使用preg_match_all()
代替preg_replace。
$matches = array();
preg_replace_all("/@([^\s]+)/", $text, $matches);
// $matches[0] contains the with @. $matches[1] contains your hits without the @
echo $matches[1][0]; // your first hit without the @
echo $matches[1][1]; // your second hit without the @
echo $matches[1][2]; // your third hit without the @