>我正在开发一个简单的cms,在某些情况下,我想在数据库中存储一个可能包含一些链接的段落,但我不想在数据库中存储html代码,我希望它如下:
一些文字,一些文字 ||关键词||http://an-external-site.com/keyword||一些文本和一些文本
然后使用 PHP 生成如下链接:
一些文本,一些文本关键字一些文本和一些文本
那么,怎么做呢?以preg_replace()为例
有没有办法使用预定义的变量让 url 指向我网站中的内部页面,例如
一些文字,一些文字 ||关键词||质谱/关键字||一些文本和一些文本
这将是:
一些文本,一些文本关键字一些文本和一些文本
其中 MS 指的是我的网站,例如 http://mysite.com/
因此,在这里,php 函数获取模式,然后决定是简单地使用示例 1 中的完整 url,还是用等于 http://mysite.com/的预定义变量替换 MS
谢谢。
我建议使用一些像bbcode这样的类来直接获取项目中的非html代码。
如果你仍然想使用正则表达式,你可以使用这样的东西:
$pattern = '=^(.*)<a(.*)href'="?('S+)"([^>]*)>(.*)</a>(.*)$=msi';
while (preg_match($pattern, $row, $txt))
{
/* $txt[3] holds the link. */
echo $txt[3]."'n";
$row = $txt[1]." here was a link ".$txt[6];
}
/* print $row */
print "<br>".nl2br($row);