微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在获取PHP正则表达式时遇到问题

这是我的问题.这可能是一个简单的修复.我有一个正则表达式,用于替换URL BBCode.我现在无法正常工作的情况如下所示.

<?PHP
$input_string = '[url=www.test.com]Test[url]';
$regex = '/\[url=(.+?)](.+?)\[\/url]/is';
$replacement_string = '<a href="$1">$2</a>';
echo preg_replace($regex, $replacement_string, $input_string);
?>

当前输出原始的$input_string,而我希望输出以下内容.

<a href="www.test.com">Test</a>

我想念什么?

解决方法:

<?PHP
$input_string = '[url=www.test.com]Test[/url]';
$regex = '/\[url=(.+?)\](.+?)\[\/url\]/is';
$replacement_string = '<a href="$1">$2</a>';
echo preg_replace($regex, $replacement_string, $input_string);
?>

>在您的BBCode字符串中,我关闭
[url]正确.
>我在正则表达式中转义了一个[](不确定这是否是实际问题).

请注意,[url] http://example.org [/ url]也是在BBCode中建立链接的有效方法.

您应该听一下建议使用现有BBCode解析器的注释.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐