2012-08-12 7 views
0

다운로드 한 팩의 이모티콘 목록이 풍부합니다. 다행히도 그들은 감정 코드가 포함되어 있으므로 (예 : smile:):-)) 모든 코드를 만들 필요가 없었습니다. 여기에 내가 문자열을 통과하고와 기호의 발생을 대체 할 수있을 것입니다,이 목록을 수정하거나 어떤 방법으로 그것을 다시 입력하지 않고, 그것에서의 파일 형식의 예 청크.PHP 구문 분석 피진 이모티콘 팩

smile.png   :)  :-) 
smile-big.png  :D  :d :-D :-d 
wink.png   ;)  ;-) 
shock.png   :-O  :-o :O :o 
tongue.png   :P  :p :-P :-p 
glasses-cool.png (H)  (h) 
angry.png   :@  :[email protected] 
embarrassed.png  :$  :-$ 
confused.png  :S  :s :-S :-s 
sad.png    :(  :-(
crying.png   :'(
neutral.png   :|  :-| 
devil.png   (6) 
angel.png   (A)  (a) 
love.png   (L)  (l) 
love-over.png  (U)  (u) 
msn.png    (M)  (m) 
cat.png    (@) 
dog.png    (&) 
moon.png   (S) 
star.png   (*) 
film.png   (~) 

이다 그러나 이미지 태그를 감싸는 이미지 태그. 문자열로 감정 표현 정의의 블록 그래서 convert_emotes($text, $emote_definitions);처럼 작동하고 어떤 도움이 많이 감사합니다

Hello world :) :D this is a heart emote: (L) and here's a dog (&) 

Hello world <img src="smile.png" /> <img src="smile-big.png" /> this is a heart emote: <img src="love.png" /> and here's a dog <img src="dog.png" /> 

설정하는 어떤 기능이있다!

답변

1

아니 좋은 코드지만 아마 작동합니다

<?php 
$patterns = array(); 
$replacements = array(); 

foreach (split("\n", file_get_contents("file")) as $line){ 
    $l = preg_split("/\s+/",$line); 
    for($i = 1; $i < count($l); $i++){ 
     $patterns[] = $l[$i]; 
     $replacements[] = "<img src='{$l[0]}' />"; 
    } 
} 


echo str_replace($patterns, $replacements, "Hello world :) :D this is a heart emote: (L) and here's a dog (&)"); 
+0

예! 당신 정말 대단하네요 –