preg_用 HTML 标签替换分隔符

发布于 2024-10-24 03:39:51 字数 355 浏览 1 评论 0原文

我想在 php 应用程序中使用某种 BB 代码:如果您在两个“斜线”之间编写文本(例如:To /.be/. 或 /.not/. to be! )它将显示为斜体。 我目前正在使用以下模式:

preg_replace('/\/\.(.*)\/\./', '<i>$1</i>', $text)

但它会返回 To be/。或/.not对于该示例,to be! 而不是 To be是!...

我也尝试过使用否定前瞻断言,但它会抛出错误。

I would like to use some kind of BB code for a php application: If you are writing text between two "slashdots" (example: To /.be/. or /.not/. to be!) it will appear italic.
I'm currently using the following pattern:

preg_replace('/\/\.(.*)\/\./', '<i>$1</i>', $text)

but it would return To <i>be/. or /.not</i> to be! for that example instead of To <i>be</i> or <i>not</i> to be!...

I also tried with negative look-ahead assertion, but it throws errors.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世界和平 2024-10-31 03:39:51

使用非贪婪匹配(问号):

preg_replace('/\/\.(.*?)\/\./', '<i>$1</i>', $text);

Use non-greedy match (question mark):

preg_replace('/\/\.(.*?)\/\./', '<i>$1</i>', $text);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文