php - preg_replace 修改文本并保存到数据库

标签 php mysql wordpress preg-replace preg-match

最近我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/

相关文章:

mysql - 三个表 UPDATE 和 JOIN 导致错误 1064

css - 如何在 Wordpress 主页上显示 .entry-content CSS?

php - 选择在带有 mysql_query 错误的 php 脚本中失败

php - Laravel 虚拟服务器路由不起作用

php - 如何从真实的 Android 设备访问本地主机

MySql - 删除一行

php - 带个案的 Mysql 查询

php - count() 导致 "unexpected T_STRING"错误?

javascript - 在外部 jQuery 脚本中使用 PHP

php - 如何在自制的php网站上实现wordpress permalink功能