【发布时间】:2012-12-09 09:30:29
【问题描述】:
这些正则表达式正在杀死我,无论我读什么都无法理解这个概念。
这是我的问题,我相信它非常容易解决。
[img:http://example.com/_data/025_img.jpg]
我想要的只是用<img>标签改变它说[img:...]的位,并得到如下结果
<img src='http://example.com/_data/025_img.jpg' border='0' />
我尝试了各种愚蠢的变体,但都不起作用。我对此并不感到惊讶。
编辑
附加信息:
我的情况如下。
用户将图片上传到他们的个人资料
图像名称存储在数据库中。
- 它们列在具有文本区域的表单旁边
- 在输入文本时,我希望通过添加以下标签 [img: ... ] 为用户提供包含一个或多个图像的功能,其中 ... 是单击图像时将被复制的链接从用户库中列出。
我正在使用 Codeigniter 并将 textarea 通过视图传递到控制器->模型中,在该模型中,它由助手对各种事物进行清理... sql/quotes 等。XSS 也已启用关于CI
然后我想扫描文本并查看用户在哪里拥有 [img: ... ] 标签并将其交换为
<img>tag 并使用图像和文本呈现帖子。
所以用户的实际输入将类似于
The brown fox jumped over foo bar [img:http://example.com/_data/025_img.jpg] and then went to bed [img:http://example.com/_data/0277_img.jpg] while thinking about [img:http://example.com/_data/1115_img.jpg]
这就是我要求 preg_replace 而不是 preg_match 的原因。 preg_match 不会使文本跟随图像。
【问题讨论】:
-
你想在这里完成什么?自定义标记语言?像 BBCode 之类的东西?您是否考虑过使用现有的标记语言和随附的库?
-
基本上用户有一个图片库,我想让他们在以用户友好的方式键入文本的地方包含这些图片。
-
好的。你进入了一个痛苦的世界。这可能需要一些时间来输入...
-
我愿意接受有关如何完成此任务的任何建议。
标签: php preg-replace