【问题标题】:how to parse HTML tags to plain text?I want to achive something like facebook or twitter如何将 HTML 标签解析为纯文本?我想实现类似 facebook 或 twitter
【发布时间】:2012-04-07 02:29:22
【问题描述】:

例如:我有这个字符串

@[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]" 输出到 "123peterwateber”。

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

我想要实现的是拥有这种输出:

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

【问题讨论】:

标签: php jquery


【解决方案1】:

我不确定是否有专门的功能,但你可以做的是: 在链接示例中(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);

我知道这看起来很乏味,但它应该可以解决问题。如果它没有帮助那么请不要给我打分...我花了时间在这个上

【讨论】:

  • 谢谢,但我做到了......它已经像 3 天找到这个答案...... preg_match('#@[(\w+)\:(\w+)]# 的部分', $hidden_​​input, $m);应该做的伎俩你可以从“@ [123:peterwateber]”中获得“123 and peterwateber”,问题是将其转换为锚标记,然后像我上面的截图一样解析整个字符串。谢谢,虽然这真的很难。我想不通...
猜你喜欢
  • 2019-11-05
  • 2011-07-15
  • 2014-09-10
  • 2020-12-31
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
  • 2014-06-14
  • 2019-05-18
相关资源
最近更新 更多