由于某种原因str_replace()
不适用于/
. 我正在创建一个函数来接受我正在制作的博客 CMS 的输入和文本区域表单中的独特链接样式。例如,通过时[{http://brannondorsey.com}My Website]
将被翻译为。这是我的代码:<a href='http://brannondorsey.com'>My Website</a>
make_link($string);
function make_link($input){
$double = str_replace( '"', '"', $input);
$single = str_replace("'", "'", $double);
$bracket_erase = str_replace('[', "", $single);
$link_open = str_replace('{', '<a href="', $bracket_erase);
$link_close = str_replace("}", ">", $link_open);
$link_value = str_replace(']', "</a>", $link_close);
echo $link_value;
}
一切正常,除了]
不替换为</a>
. 如果我删除斜杠,它将成功替换]
为<a>
,但是,众所周知,这不会正确关闭锚标记,因此会使{
我网页中的和下一个关闭锚标记之间的所有 html 内容成为链接。