1

我需要更改此代码:

$output = preg_replace("#&lt;a ([^&gt;]*)&gt;([^&lt;]*)&lt;\/a&gt;#", "<a href=\"$1\">$2</a>", $output)

&lt;a some.url&gt;description&lt;/a&gt;到 HTML 代码<a href="some.url">description</a>,但是在我改变< and >它之后&lt; and &gt;并没有做出我想要的。

谢谢您的帮助。

编辑:

我不会使用html_entity_decode(),因为我希望它能够启用稍微简化的 HTML 标签,但我会禁用大部分 HTML。

我的函数的输入是一个变量,从一个表单中获得:

首先,代码将所有的<and>替换为&lt;and &gt;

比它改回一些修改文本的静态 HTML 标记,例如<b></b>.

但最后,我想将输入为<a some.url>link</a>(而不是通过代码更改为&lt;a some.url&gt;link&lt;/a&gt;)的每个链接更改preg_replace()为标准 HTML 代码<a href="some.url">link</a>

4

1 回答 1

2

http://php.net/manual/en/function.html-entity-decode.php

$str = "this 'quote' is &lt;b&gt;bold&lt;/b&gt;"
html_entity_decode($output)
// output This 'quote' is <b>bold</b>

http://php.net/manual/en/function.htmlentities.php

$str = "This 'quote' is <b>bold</b>";
htmlentities($output);
// output this 'quote' is &lt;b&gt;bold&lt;/b&gt;
于 2013-04-25T07:38:02.177 回答