我有一個hashtag系統:(注意:$ body是一個變量,它是用戶提交的帖子,標籤在帖子中。)我試圖用正則表達式做這個,但是發現這種方法同樣有效,並且易於遵循。從php數組元素創建超鏈接
<?php
$string = $body;
$htag = "#";
$arr = explode(" ", $string);
$arrc = count($arr);
$i = 0;
while($i < $arrc) {
if(substr($arr[$i], 0, 1) === $htag) {
$arr[$i] = "<a href = 'category.php?#=$arr[$i]'>".$arr[$i]."</a>";
}
$i++;
}
$string = implode(" ", $arr);
?>
然後,$string
將在後面的頁面迴盪。
我的問題是,我的方法使用php數組元素將hashtag鏈接到類別頁面。在這個頁面上,我想調用「hashtaged」這個單詞,並使用mysql查詢來獲取包含hashtags的帖子。然而,當我打電話$arr[$i]
,待迴盪,我得到一個錯誤:
Undefined offset: 1 on the line in which I call this array element into another variable.
有什麼辦法,我可以完成一個更好和更有效的方式這個任務?
你sh應該考慮'preg_split(「\\ b」,$ string)'而不是'explode(「」,$ string);'。 '\ b'知道字的邊界,所以字符串:'「這是一個#標籤。」'會給你'#標籤'而不是#標籤。 – Halcyon
即使你沒有得到一個錯誤,我真的不認爲'category.php?#= $ arr [$ i]'會做你想做的事情。 –
Patrick,會有更好的解決方案來實現這個超鏈接嗎? – user3513120