最近我posted a question用于用短代码替换数据库中的 iframe。它确实适用于某些内容,但对于其他一些内容,它会导致不一致,从而导致类似
的字符串[soundcloud url="http://api.soundcloud.com/tracks/106645167" frameborder="no" scrolling="no" width="100%" height="166"></iframe>"]
应该是
[soundcloud url="http://api.soundcloud.com/tracks/106645167"]
我认为这是由于数据库中的不同 iframe 造成的。我需要知道是否有任何其他方法可以解决我数据库中的问题。
最佳答案
我有点困惑,现在你要转换错误的输出
[soundcloud url="http://api.soundcloud.com/tracks/106645167" frameborder="no" scrolling="no" width="100%" height="166"></iframe>"]
向右边输出?
[soundcloud url="http://api.soundcloud.com/tracks/106645167"]
正则表达式
如果是这样(并假设所有实例都是相同的格式:即首先是 url),那么以下将起作用:
preg_replace('/(\[soundcloud url=".*?").*?(\])/', '$1$2', $string);
简单说明
上面的正则表达式匹配
[soundcloud url="all characters before" all characters before]
并将其替换为
[soundcloud url="all chracters before"]
关于php - preg_replace 修改文本并保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19154509/