2012-02-11 5 views
0

외부 PHP 페이지에서 DB에서 가져온 일부 phpBB 포럼 게시 내용의 일부 이미지 URI를 바꾸려고합니다.PHP preg_replace URI가 phpBB입니다.

preg_replace('/((https?|ftp).*\.(gif|png|jpg|jpeg))/i', '<img src="$1" alt "" />','http://somesite.com/image.png awordcontainingpng'); 

위의 내용은 예상대로 잘 작동합니다.

문제는 MySQL 결과에 동일하게 적용하려고하면 아무것도 일치하지 않습니다. 나는 탈출 점 예컨대

:

preg_replace('/((https?|ftp).*(gif|png|jpg|jpeg))/i', '<img src="$1" />',$phpbb_post); 

을 제거 할 때 일치는 제대로 작동하지만 그 좋은 없습니다. 데이터는 BLOB 유형입니다. 차이가 있는지 여부는 알 수 없습니다. 누구든지 이걸 도와 줄 수 있니?

감사합니다.

+3

우리가 사용할 데이터가 몇 가지 있습니다. – Vyktor

+0

안녕하세요. 이전 이미지 URI에 문제가 있습니다. http://somesite.com/image.png awordcontainingpng. 어떻게 든 교체는 MySQL 결과에 적용될 때 작동하지 않지만 수동으로 주제에 추가 된 문자열에서 작동합니다. – stackuser10210

+0

'$ row = mysql_fetch_assoc ($ query);에 대한 결과를 추가하십시오; 귀하의 질문에 echo $ row [ 'text']'(또는 결과를 얻습니다). – Vyktor

답변

2

은, 그들은 완전히 인코딩됩니다. 즉 점 .&#46;으로 바뀝니다.

+0

감사합니다! /((https?ftp).* . (gif | png | jpg | jpeg))/i. 그게 다 끝났어. – stackuser10210

+0

http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work을 잊지 마세요. ;) – entropid

0

당신은 MYSQL에서 직접 이미지를로드 할 때 당신이 당신이 이미지 데이터가이 그것을 따라 검색하고 display.php

$sql = "SELECT * FROM `Images` WHERE `id` = $id"; // $id is what you pass from your img src 
$image = mysql_fetch_object(mysql_query($sql)); 
header("Content-length: " . $image->size); // $image is your object 
header("Content-type: " . $image->type); // say image/png 
header("Content-Disposition: attachment; filename=" . $image->name); 
echo $image->data; 
die(); 

로하고 HTML 통화에서 파일을 저장할 수 있습니다 가정이 방법 너무

을 이미지가 데이터베이스에 저장됩니다 PHPBB에서이

<img src="display.php?id=YOUR_DB_REC_ID" /> 
+0

이것은 phpBB에는 적용되지 않으며 phpBB 내에서 사용해서는 안됩니다. 답변을 찾으려고한다면이 방법을 PHPBB에서 사용하지 마십시오! –

+0

'sql = 'SELECT post_text FROM'. POST_DATA \t \t "WHERE user_id = '{$ row ['user_id ']}'"; $ result = $ db-> sql_query ($ sql); // 행 데이터를 검색하십시오. $ row = $ db-> sql_fetchrow ($ result); $ db-> sql_freeresult ($ result); ' 위의 구문은 올바른 것입니다 –