2013-06-02 2 views
0

나는 텍스트 영역 제출 및 교체시 가치를 얻으려는 사이트가 있습니다. 사용자는태그 사이에 값 가져 오기 및 링크로 변환

내가 @과 공간 사이의 콘텐츠를 내가 많은 그것을 검색

<a href="user.php?name=testuser">testuser</a>

로 교체하고 싶지만와 함께 작동 아무것도 찾을 수 없습니다 Hello @testuser how are you?를 제출했다. 나는 또한 동적 인 내용없이 그것을했다. 스크립트는 다음과 같습니다.

<?php 
$tagOne = "["; 
$tagTwo = "]"; 

$text = "Hello, my name is [lol]"; 
$uname = "lol"; 
$replacement = "<a href=\"dash.php?page=account&name=".$uname."\">".$uname."</a>"; 

$startTagPos = strrpos($text, $tagOne); 
$endTagPos = strrpos($text, $tagTwo); 
$tagLength = $endTagPos - $startTagPos + 1; 

$text = substr_replace($text, $replacement, $startTagPos, $tagLength); 

echo $text; 
?> 

사용자가 아닌 코드에만 정의 된 사용자 이름이있는 경우에 적합합니다. 나는 동일한 결과를 원하지만 동적으로 원한다.

+0

양식에서 데이터에 액세스하는 방법을 묻는 경우 여기에 자습서가 있습니다. http://www.tizag.com/phpT/forms.php –

+0

예, 복제하십시오. 죄송합니다. 나는 그것을 전에 발견 할 수 없었다! 고맙습니다 @ k0pernikus. :) – MLL

+0

@MLL 죄송합니다. 중복은 다른 사용자가 다른 구두로 인해 올바른 질문을하도록 유도하므로 도움이됩니다. 사전에 전혀 검색하지 않은 경우에만 문제가됩니다.) – k0pernikus

답변

0

데이터베이스가있는 경우 사용자 테이블
을 만들고 작업중인 파일의 데이터베이스에 연결 한 다음 해당 ID를 기반으로 사용자에게 쿼리하고 ex. ($ username).
그런 다음 "my name is '[lol]'"을 "my name is '$ username'"으로 바꿀 수 있습니다.
나는이 질문이 옳은지 이해할 수 있다면 이것이 효과가있을 것이라고 생각한다.

+0

흠. 정말로. 사용자가 존재하는지 여부는 상관하지 않습니다. 내가 사용했다 '\1', $ comment); echo $ post; ?> ' 하지만 이름과 링크에는'@'이 있습니다. 그것을 제거하는 방법? – MLL

+0

$ p = str_replace ("(@)", "", $ value); echo $ p; 당신이 이것을 시도 했습니까, 그것이 효과가 있는지보기 위해서입니까? –

+0

() 태그없이 작동합니다. 어쨌든, 고맙습니다. :) – MLL

관련 문제