해시 태그 시스템이 있습니다. (참고 : $ 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 페이지 배열 요소를 사용하여 범주 페이지에 연결하는 방법입니다. 이 페이지에서 "hashtaged"라는 단어를 호출하고 mysql 쿼리를 사용하여 해시 태그가있는 게시물을 얻고 싶습니다. 나는 $arr[$i]
가 반향을 호출 할 때, 오류가 발생합니다 :
Undefined offset: 1 on the line in which I call this array element into another variable.
내가 더 나은보다 효과적인 방법으로이 작업을 완료 할 수있는 방법이 있나요?
너 sh ould는'explode ("", $ string); 대신'preg_split ("\\ b", $ string)'을 고려합니다. '\ b'는 단어의 경계를 알고 있으므로''this is a #tag ''라는 문자열이'# tag '대신에'# tag'를 줄 것입니다. – Halcyon
오류가 발생하지 않더라도, 나는'category.php? # = $ arr [$ i]'가 당신이 원하는 것을 할 것이라고 정말로 생각하지 않습니다. –
Patrick,이 작업을 수행하기위한 하이퍼 링크를위한 더 나은 솔루션이 있습니까? – user3513120