2012-04-07 39 views
0

例如:我有這個字符串如何解析HTML標記爲純文本我想才達到像Facebook或Twitter

@[1234:peterwateber] <b>hello</b> <div>hi!</div> http://stackoverflow.com 

我想把它轉換成HTML這樣的:

<a href="1234">@peterwateber</a> &lt;b&gt;hello&lt;/b&gt; &lt;div&gt;hi!&lt;divb&gt; 
<a href="http://sackoverflow.com">http://stackoverflow.com</a> 

我使用的QueryPath,我有這樣的代碼,你可以從得到文本「@ [123:peterwateber]」被輸出到「和peterwateber」尊重結構延續。

The code to do that is: 
$hidden_input = "@[1234:peterwateber] <b>hello</b> <div>hi!</div> http://stackoverflow.com"; 
preg_match('#@\[(\w+)\:(\w+)\]#', $hidden_input, $m); //returns 123,peterwateber 

我試圖做到的,是有這種輸出: Facebook Style Post or Twitter Style Post

我使用Hawkee的jQuery插件自動完成http://www.hawkee.com/snippet/9391/

+0

已經回答了!回答這個問題在這裏找到http://stackoverflow.com/questions/10052101/jquery-javascript-change-text-with-to-link/10052203#comment12862482_10052203 – 2012-04-07 06:27:53

+0

這有幫助嗎? Idk,如果你看到它,因爲谷歌結果變化如此之快。 :) http://psoug.org/snippet/Convert-HTML-to-plain-text_36.htm – 2013-01-19 13:40:34

回答

2

我不entirly肯定如果有一個特定的功能只是爲此,但你可以做的是這樣的: 在鏈接的示例(a href)

$raw = "@[1234:peterwateber]" 
$thingtoreplace = ("@["); 
$firstpass = str_replace($thingtoreplace, "<a href='", $raw); 
$raw2 = $firstpass 
$thingtoreplace = (":"); 
$secondpass = str_replace($thingtoreplace, "'>", $raw1); 
$raw3 = $second 
$thingtoreplace = ("]"); 
$secondpass = str_replace($thingtoreplace, "'</a>", $raw3); 

我知道這似乎很乏味,但它應該做的伎倆。如果它沒有幫助,那麼請不要評價我...我花了這個時間

+0

謝謝,但我做到了這一點...它已經像3天找到答案這個... preg_match ('#@ \ [(\ w +)\:(\ w +)\]#',$ hidden_​​input,$ m);應該在你能從「@ [123:peterwateber]」中得到「123 and peterwateber」的技巧中解決問題,將其轉換爲錨標籤,然後解析整個字符串,就像我上面的截圖一樣。謝謝,雖然這真的很難。我無法弄清楚這一點...... – 2012-04-07 05:08:01