我有一个来自Wordpress数据库的字符串,如果它与我的代码匹配,想要用youtube视频替换该文本。
这样的事情:
text bla [youtube video="cCaW6sdAkEkd9PY"] bla bla and some more text
$pattern = '/\[youtube video="(.+)"\]/';
它与来自数据库的数据不匹配,但如果我使用var_dump
的输出并对其进行测试,则它与字符串匹配。
我认为它与utf-8有关,但我不知道要解决它我已经尝试了/u
,utf8_decode
等等,但没有结果。
答案 0 :(得分:2)
您的文字中没有UTF-8。问题是你没有逃过方括号\[
$pattern = '/\[youtube video="(.+?)"]/';
(仅仅逃避第一个就足够了。结束括号的元目的被忽略了。)