将 *italic* 等字符串转换为 <i>italic</i>,但如果换行符位于星号限制范围内,则不进行转换
P粉262073176
P粉262073176 2024-03-29 21:43:59
[PHP讨论组]

我的 PHP 代码中有以下正则表达式:

// markers for italic set *Text*
if (substr_count($line, '*')>=2)
{
    $line = preg_replace('#\*{1}(.*?)\*{1}#', '$1', $line);
}

效果很好。

但是,当 $line 持有
时,例如

*This is my text
* Some other text

然后正则表达式仍然考虑文本并将其转换为:

This is my text
Some other text

目标是如果遇到
则不翻译文本。如何使用正则表达式来做到这一点 - 使用所谓的“负向前瞻”或者如何更改现有的正则表达式?

注意:类似 *This is my text*
Some other text
和再次 *italic*
END
的字符串仍应考虑和转换。

想法:或者我应该分解 $line 然后使用正则表达式迭代结果?!

P粉262073176
P粉262073176

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号